在我的 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 找到的唯一引用在缓存中文件,这不太有用)。
如何在配置中为每个环境指定要加载的不同服务 YAML 文件,或者至少找出环境以便我可以编写扩展类来加载正确的文件?