我有一个实现EventSubscriberInterface的订阅者。但是,在Event dispatcher 组件文档中,据说要订阅一个事件,我应该调用$dispatcher->addSubscriber()
.
现在,对于我的示例,假设您有一个Mailer
订阅某些事件并发送电子邮件的类。我的基本问题是,我在哪里可以将它添加到应用程序中,以便将该对象添加为应用程序范围的侦听器?$dispatcher->addSubscriber()
换句话说,在事件发生之前我应该在哪里调用它?
我有一个实现EventSubscriberInterface的订阅者。但是,在Event dispatcher 组件文档中,据说要订阅一个事件,我应该调用$dispatcher->addSubscriber()
.
现在,对于我的示例,假设您有一个Mailer
订阅某些事件并发送电子邮件的类。我的基本问题是,我在哪里可以将它添加到应用程序中,以便将该对象添加为应用程序范围的侦听器?$dispatcher->addSubscriber()
换句话说,在事件发生之前我应该在哪里调用它?
我一遍又一遍地重复自己:
Dev 的规则 1(一):手册页是程序员最好的朋友
您需要知道的一切都在Symfony Docs中,您感兴趣的部分如下:
配置侦听器/订阅者
现在这个类已经创建好了,你只需要将它注册为一个服务并通过使用一个特殊的“标签”通知 Symfony 它是 kernel.exception 事件上的一个“监听器”:YAML
# app/config/config.yml
services:
kernel.listener.your_listener_name:
class: Acme\DemoBundle\EventListener\AcmeExceptionListener
tags:
- { name: kernel.event_listener, event: kernel.exception, method: onKernelException }