gpt4 book ai didi

php - Symfony 中的事件监听器与订阅者

转载 作者:行者123 更新时间:2023-12-02 15:05:28 26 4
gpt4 key购买 nike

我从文档中得知订阅者已经知道它应该订阅什么,但现在我怀疑在定义监听器时我们提供了应该像这样触发的确切事件

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 标记的那个方法才定义类是事件订阅者。

它在启动期间调用(当容器正在编译时),然后根据订阅的事件构建监听器。

Using Event Subscribers

关于php - Symfony 中的事件监听器与订阅者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47001139/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com