我知道这个问题可能很模糊,我会尽力解释我的问题,希望能从有经验的人那里得到很多见解,希望这不会被关闭。
我正在编写一个基于 Symfony 2 的组件和捆绑包的 PHP Web 应用程序框架,但是我的问题可能与此无关。该框架旨在对3rd 方插件开放,这些插件将有自己的配置文件 (yaml),安装这些插件的人应该能够在本地覆盖这些设置。
我还必须确保每次执行插件升级操作时,应该很容易循环“升级补丁”列表以升级插件的设置,同时仍然保留本地设置。
我想我可以有一个本地的、应用程序的特定 plugins.yml 文件,它存储如下内容:
pluginA:
somesettings: value
somesettings2: value2
此应用程序的特定设置文件将允许用户覆盖任何默认设置。然后每个插件可以包含一个“升级”类,该类将包含每个版本的所有补丁,框架将识别当前安装的路径,并循环遍历每个“升级补丁”并执行操作,直到它达到最新版本。
这听起来像是一个不错的选择,还是我应该考虑其他一些事情?如何轻松升级可以覆盖的配置设置?如果您需要更多详细信息,请告诉我。