Доктрина в Symfony 2: Прослушивание событий от определенной Сущности

У меня есть объект Doctrine (новости), который я прослушиваю для события 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 для конкретной сущности, а затем передавать их моему слушателю?

В настоящее время (насколько я понимаю) всякий раз, когда доктрина порождает преперсист ] событие ВСЕ слушатели уведомляются. Разве не лучше сказать, какие слушатели должны слушать, какие генераторы событий, даже если это должно быть необязательным, вместо того, чтобы уведомлять всех и позволять им фильтровать те, которые им нужны?

Надеюсь, я правильно задал свой вопрос.

7
задан Tony Bogdanov 10 February 2012 в 17:24
поделиться