この質問が漠然としていることを理解しています。私の問題を説明するために最善を尽くし、経験者から多くの洞察を得られることを願っています。うまくいけば、これは閉じられません。
Symfony 2 のコンポーネントとバンドルに基づいて PHP Web アプリ フレームワークを作成していますが、私の質問はそれとは関係ないかもしれません。このフレームワークは、サード パーティのプラグインに対してオープンにすることを目的としています。これらのプラグインには独自の構成ファイル (yaml) があり、これらのプラグインをインストールする人は、これらの設定をローカルでオーバーライドできる必要があります。
また、ユーザーがプラグインのアップグレード操作を実行するたびに、「アップグレード パッチ」のリストを簡単にループして、ローカル設定を保持しながらプラグインの設定をアップグレードできるようにする必要があります。
次のようなものを保存する、ローカルのアプリ固有の plugins.yml ファイルを作成できると思います。
pluginA:
somesettings: value
somesettings2: value2
このアプリ固有の設定ファイルにより、ユーザーはデフォルト設定を上書きできます。そして、各プラグインには、各バージョンのすべてのパッチを含む「アップグレード」クラスを含めることができます。フレームワークは、現在インストールされているパスを識別し、各「アップグレード パッチ」をループして、最新バージョンに到達するまでアクションを実行します。
これは良い選択肢のように思えますか、それとも何か他に調べるべきことがあるでしょうか? オーバーライド可能な構成設定を簡単にアップグレードするにはどうすればよいですか? 詳細が必要な場合はお知らせください。