我有一个包含事件的symfony2软件包,如何才能获得多个其他软件包来监听该事件?
IE中。如何在捆绑包之间传递我的调度程序?
答案 0 :(得分:4)
使用event_dispatcher
服务,而不是定义自己的服务。
例如,如果您正在使用YAML配置文件并且正在定义将调度事件的自定义服务,请将"@event_dispatcher"
声明为您服务的参数。
从控制器中,您可以使用$this->container->get('event_dispatcher');
来完成同样的事情。
所有框架内部都使用此提供的服务,并且所有想要全局触发或监听事件的bundle也应该使用它。