Php Symfony中的事件侦听器与订阅服务器
我从文档中了解到,订阅者已经知道它应该订阅什么,但现在我怀疑,在定义侦听器时,我们是否提供了确切的事件,它应该在什么时候像这样被触发Php Symfony中的事件侦听器与订阅服务器,php,symfony,events,Php,Symfony,Events,我从文档中了解到,订阅者已经知道它应该订阅什么,但现在我怀疑,在定义侦听器时,我们是否提供了确切的事件,它应该在什么时候像这样被触发 kernel.listener.my_listener: class: myBundle\EventListener\MyListener arguments: - @doctrine.orm.entity_manager - @twig tags: - { name: kernel.even
kernel.listener.my_listener:
class: myBundle\EventListener\MyListener
arguments:
- @doctrine.orm.entity_manager
- @twig
tags:
- { name: kernel.event_listener, event: kernel.request, method: myMethod}
因此,听众确切地知道什么时候该发火
但如果是订户,我们就这样注册
kernel.listener.my_listener:
class: myBundle\EventListener\myListener
arguments: ["@service_container"]
tags:
- { name: kernel.event_subscriber }
现在,我的问题是订阅者如何知道何时触发,或者在每个事件上都会触发它呢?订阅者有一个事件列表——getSubscribedEvents方法。事实上,只有该方法(由需要它的EventSubscriberInterface标记)才定义类是事件订阅者 当编译容器时,它在启动期间被调用,然后根据订阅的事件构建侦听器
订阅服务器有一个事件列表-getSubscribedEvents方法。事实上,只有该方法(由需要它的EventSubscriberInterface标记)才定义类是事件订阅者 当编译容器时,它在启动期间被调用,然后根据订阅的事件构建侦听器
在Symfony编译阶段构建容器时,调用静态方法Subscriber::getSubscribedEvents,并使用结果注册侦听器。在Symfony编译阶段构建容器时,调用静态方法Subscriber::getSubscribedEvents,并使用结果注册侦听器。