У меня есть Учение (Новости), которое я слушаю для события prePersist
.Для этого я использую прослушиватель событий с методом prePersist
.
Мой services.yml
выглядит следующим образом:
listener.entity.news:
class: A\BBundle\Listeners\Entity\NewsListener
tags:
- { name: doctrine.event_listener, event: prePersist }
Это нормально, и все работает.Но в документации говорится, что когда вызывается persist()
, возникает событие prePersist
.Тогда, как указано в моей конфигурации, NewsListener
перехватит его и выполнит некоторый код.Внутри метода, где я улавливаю событие, я должен проверить, происходит ли событие от сущности News
.Вот где я задаюсь вопросом: можно ли сказать Symfony прослушивать события prePersist для конкретной сущности и затем передавать ее моему слушателю?
В настоящее время (насколько я понимаю), когда доктрина порождает prePersist
Событие ВСЕ слушатели уведомляются.Разве не лучше сказать, какие слушатели должны слушать, какие инициаторы событий, даже если это должно быть необязательным, вместо того, чтобы уведомлять всех и позволять им фильтровать те, которые им нужны?
Надеюсь, я правильно задал свой вопрос.