0

我有一个实现EventSubscriberInterface的订阅者。但是,在Event dispatcher 组件文档中,据说要订阅一个事件,我应该调用$dispatcher->addSubscriber().

现在,对于我的示例,假设您有一个Mailer订阅某些事件并发送电子邮件的类。我的基本问题是,我在哪里可以将它添加到应用程序中,以便将该对象添加为应用程序范围的侦听器?$dispatcher->addSubscriber()换句话说,在事件发生之前我应该​​在哪里调用它?

4

1 回答 1

1

我一遍又一遍地重复自己:

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 }
于 2013-10-23T08:45:36.090 回答