【发布时间】:2014-06-01 14:05:18
【问题描述】:
我尝试实现一个前内核侦听器 (see reference),在其中我只需设置一些参数值(我必须动态获取这些参数值,并且不能在我的 parameters.yml 文件中静态声明)。
这是我的监听类:
class AcmeListener
{
public function onKernelController(FilterControllerEvent $event)
{
$event->getController()->getContainer()->setParameter('foo', 'bar');
}
}
在我的config.yml:
services:
kernel.listener.acme_listener:
class: Acme\AcmeBundle\EventListener\AcmeListener
tags:
- { name: kernel.event_listener, event: kernel.controller, method: onKernelController }
但我得到了一个
FatalErrorException: 错误:在非对象上调用成员函数 getContainer()
如果不是通过$event->getController() 中的getContainer(),我如何访问容器?
【问题讨论】:
标签: symfony service kernel listener before-filter