7

Symfony v3.3.4,Doctrine ORM v2.5.6

我为一个学说实体创建了一个事件订阅者:

AppBundle\EventListener\LivreSubscriber:
    tags:
        - { name: doctrine.event_subscriber }

它工作正常!但是很长一段时间我都认为它不起作用,因为侦听器未在 debug:event-dispatcher 命令中列出:

$ docker-compose exec phpapp bin/console debug:event-dispatcher doctrine.event_subscriber

[WARNING] The event "doctrine.event_subscriber" does not have any registered listeners.

事件侦听器也是如此。还有:监听器和订阅者都没有在 symfony 分析器(事件部分)中列出......所以它可以工作,但奇怪的是监听器没有在调试工具中列出,不是吗?

你能告诉我你的项目是否有同样的行为......

4

1 回答 1

8

此订阅者是教义订阅者,而不是 symfony。Doctrine 使用它自己的事件管理器,它不与 symfony 事件调度器连接。console debug:event-dispatcher仅列出在 symfony 事件调度程序中注册的订阅者。

于 2017-07-27T14:32:51.947 回答