Подписчик событий Symfony Doctrine, не указанный в отладке: диспетчер событий
Symfony v3.3.4, Доктрина 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 (раздел Событий)... Так что это работает, но странно, что слушатели не указано в инструменте отладки, не так ли?
Можете ли вы сказать мне, ведете ли вы себя так же со своими проектами?..
1 answers
Этот подписчик является подписчиком доктрины, а не symfony. Doctrine использует свой собственный менеджер событий, который не связан с диспетчером событий symfony. console debug:event-dispatcher
перечисляет только подписчиков, зарегистрированных в диспетчере событий symfony.