我该如何构建我的应用程序?

时间:2012-11-10 10:41:48

标签: php symfony frameworks

我知道这个问题可能含糊不清,我会尽力解释我的问题,希望能从经验丰​​富的人那里得到很多见解,希望不会关闭。

我正在编写基于Symfony 2组件和软件包的PHP Web应用程序框架,但我的问题可能与此无关。该框架旨在对第三方插件开放,这些插件将有自己的配置文件(yaml),安装这些插件的人应该能够在本地覆盖这些设置

我还必须确保每次执行插件升级操作时,都应该很容易遍历"升级补丁列表"在保留本地设置的同时升级插件的设置。

我想我可以拥有一个本地应用程序的特定plugins.yml文件,它存储的内容如下:

pluginA:
  somesettings: value
  somesettings2: value2

此应用的特定设置文件将允许用户覆盖任何默认设置。然后每个插件都可以包含一个"升级"包含每个版本的所有补丁的类,框架将识别当前安装的路径并循环遍历每个"升级补丁"并执行操作,直到达到最新版本。

听起来这是一个不错的选择,还是我还应该研究其他什么?如何轻松升级可以覆盖的配置设置?如果您需要更多详细信息,请与我们联系。

1 个答案:

答案 0 :(得分:1)

在我看来,你正在寻求实现核心Symfony允许做的事情 - 我。即让其他用户覆盖/实现现有捆绑包的自定义部分。 如果是这样,也许这个答案可以很好地了解如何使用ClassLoader组件(Symfony 2.0)或Composer(Symfony 2.1)来实现它:

How can I override Core Symfony2 Classes?