security.yml
Symfony2の環境に応じて含まれるさまざまなファイルを含める方法を見つけることができませんでした。たとえば、受け入れテスト用のメモリ内ユーザープロバイダーが必要でした。これは、エンティティなどをここでテストする必要がないためです。ビューの受け入れテストのみを行います。
しかし、結局のところ、それは簡単なことではありません。security.yml
のインクルードから削除しconfig.yml
、名前を変更して、ユーザープロバイダーを持つsecurity_prod.yml
を作成しました。次に、本番構成とテスト構成をそれぞれ含めました。security_test.yml
in_memory
security_prod.yml
security_test.yml
しかし、それはまったく機能していないようです。
$ SYMFONY_ENV=test app/console cache:clear
[Symfony\Component\Config\Definition\Exception\InvalidConfigurationException]
You are not allowed to define new elements for path "security.providers". Please define all elements for this path in one config file.
$ SYMFONY_ENV=prod app/console cache:clear
[Symfony\Component\Config\Definition\Exception\ForbiddenOverwriteException]
Configuration path "security.access_control" cannot be overwritten. You have to define all options for this path, and any of its sub-paths in one
configuration section.
ファイル名がハードコーディングされているように見えましたsecurity.yml
が(Symfonyにはあまりにも奇妙なことです)、そうではありませんでした。
security.yml
だから問題は: Symfonyで複数のを取得するにはどうすればよいですか?そして、何がこの振る舞いを引き起こしているのでしょうか?