Symfony2,跨多个bundle访问相同的调度程序

时间:2011-06-21 20:27:50

标签: php php-5.3 symfony

我有一个包含事件的symfony2软件包,如何才能获得多个其他软件包来监听该事件?

IE中。如何在捆绑包之间传递我的调度程序?

1 个答案:

答案 0 :(得分:4)

使用event_dispatcher服务,而不是定义自己的服务。

例如,如果您正在使用YAML配置文件并且正在定义将调度事件的自定义服务,请将"@event_dispatcher"声明为您服务的参数。

从控制器中,您可以使用$this->container->get('event_dispatcher');来完成同样的事情。

所有框架内部都使用此提供的服务,并且所有想要全局触发或监听事件的bundle也应该使用它。