私のSymfony2バンドル拡張でservices.yml
は、ロードされています
$loader = new Loader\YamlFileLoader($container, new FileLocator(__DIR__ . '/../Resources/config'));
$loader->load('services.yml');
ただし、環境ごとに異なるサービス構成をロードしたい (例: テスト用に別のもの)。
現在の環境を取得するために私が見つけた例のほとんどは、コントローラー (例: $this->get('kernel')->getEnvironment()
) 内でのアクセス用ですが、拡張機能ではコントローラー ベースのアクセスはできません。
Twig 拡張機能 - symfony2 環境によると、環境はコンストラクターで注入できますが、バンドル拡張機能が Symfony によってどのように登録/インスタンス化されるかがわからないため、環境を注入する方法がわかりません (grep で見つけた唯一の参照はキャッシュにあります)ファイル、これはあまり役に立ちません)。
config で env ごとにロードする別のサービス YAML ファイルを指定するにはどうすればよいですか? または、少なくとも環境を見つけて、Extension クラスをコーディングして正しいファイルをロードできるようにするにはどうすればよいですか?