在Symfony2中获取配置数据

时间:2013-03-17 10:03:43

标签: symfony

我知道这个:

$this->container->getParameter('param_name')

...将从/ app / config /.

中的主配置文件中获取参数名称

但是如何从bundle的配置文件和事件监听器类中的方法中的配置文件中获取配置数据。代码在每个请求上运行(配置文件位于包含事件监听器类的包中)。

我正在编写一个基于用户代理的包,为不同的设备提供权限。所以我会将设备检测到一个组,例如“IPHONE”,“IPAD”,“ANDROID_4 +”,“ANDROID_< 4”等,然后我的配置文件看起来像这样:

parameters:
    allow_feature_1: IPHONE, IPAD, ANDROID_4+
    allow_feature_2: IPHONE, IPAD, ANDROID_<4, ANDROID_4+

我只需要将这些配置值放入我的班级。

我完成了所有事件监听器代码。

1 个答案:

答案 0 :(得分:1)

首先,您应该将参数存储在单独的文件parameters.yml中,并在config.yml中导入此文件。要在事件侦听器中访问parameters.yml中的参数,您应该注入此参数http://symfony.com/doc/2.1/book/service_container.html#service-parameters(对于sf2.1)。