1

config.yml で定義された多くのバンドルとグローバル データベース接続を含む SaaS Symfony2 プロジェクトがあります。ここで、特定のクライアントがカスタム機能を必要としているとしましょう。メイン プロジェクトに統合したいので、そのクライアント固有のコードを含む新しいバンドルを作成することにしました。そのバンドルにはいくつかの新しいデータベース テーブルが必要になる場合がありますが、それらはそのクライアントに固有のものであるため、それらを使用して新しいデータベースを作成します。

次に、新しい教義接続を定義する必要があります。すべての接続設定をメインの config.yml に入れる代わりに (特定のバンドルを持つ 10 個のクライアントがあるとかなり混乱する可能性があります)、クライアント バンドル内の構成ファイルで定義する方法はありますか? そうすれば、すべてのクライアント コードと構成をバンドル内に簡単にカプセル化できます。

依存性注入コンポーネントとコンパイラ パスを使用して、バンドルで定義されたいくつかのパラメーター ファイルに基づいて新しいデータベース接続を作成することは可能かもしれないと思いますが、その方法はわかりません。また、接続に関連するいくつかのリスナー (Doctrine Extensions) を定義する必要があるため、タスクがさらに難しくなります。

各リクエストでアクティブな「クライアントバンドル」は1つだけだと思う​​ので、「クライアント」接続を定義して、実行時に接続文字列を変更できますか? (この場合、サブドメインなどに基づいて、正しいクライアント バンドルのみをロードするようにする必要があります)。

ご協力ありがとうございました。

4

2 に答える 2