1

我知道这一点:

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

...将从 /app/config/ 中的主配置文件中获取参数名称。

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

我正在编写一个基于用户代理的捆绑包,它授予不同设备的权限。所以我会将设备检测到一个组中,例如“IPHONE”、“IPAD”、“ANDROID_4+”、“ANDROID_<4”等,然后我的配置文件将如下所示:

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

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

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

4

1 回答 1

1

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

于 2013-03-17T10:48:08.743 回答