Symfony2,跨多个捆绑包访问相同的调度程序
我有一个 symfony2 捆绑包有一个事件,如何让多个其他捆绑包监听该事件?
IE。如何在捆绑包之间传递我的调度程序?
I have a symfony2 bundle that has an event, how can I get multiple other bundles to listen for that event?
Ie. how can I pass my dispatcher between bundles?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
使用
event_dispatcher
服务而不是定义您自己的服务。例如,如果您使用 YAML 配置文件并定义将分派事件的自定义服务,请将
"@event_dispatcher"
声明为服务的参数。在控制器中,您可以使用
$this->container->get('event_dispatcher');
来完成同样的事情。所有框架内部都使用这个提供的服务,并且所有想要全局触发或侦听事件的包也应该使用它。
Use the
event_dispatcher
service instead of defining your own.For example, if you're using YAML configuration files and are defining a custom service that will dispatch events, declare
"@event_dispatcher"
as an argument to your service.From a controller, you can use
$this->container->get('event_dispatcher');
to accomplish the same thing.All the framework internals use this provided service, and all bundles that want to fire or listen to events globally should use it as well.