kon*_*dor 6 php event-dispatching symfony doctrine-orm symfony-3.3
Symfony v3.3.4,Doctrine ORM v2.5.6
我已经为一个理论实体创建了一个事件订阅者:
AppBundle\EventListener\LivreSubscriber:
tags:
- { name: doctrine.event_subscriber }
Run Code Online (Sandbox Code Playgroud)
它工作正常!但是很长时间以来,我都坚信它没有用,因为在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.
Run Code Online (Sandbox Code Playgroud)
事件监听器是相同的。而且:symfony探查器(“事件”部分)中都未列出侦听器和订户...这样可以正常工作,但是奇怪的是侦听器中没有列出侦听器,不是吗?
你能告诉我你的项目是否有同样的行为吗?
该订户是教义的订户,而不是symfony。Docctrine使用其自己的事件管理器,该事件管理器未与symfony事件分派器连接。console debug:event-dispatcher仅列出在symfony事件分派器中注册的订户。