我有一个Doctrine实体(News),我监听事件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事件,然后将其传递给我的监听器?目前(据我所知),每当Doctrine生成
prePersist
事件时,所有侦听器都会被通知。即使这是可选的,是否指定哪些侦听器应该侦听哪些事件生成器,也比通知所有侦听器并让它们过滤需要的事件更好吗?我希望我正确地提出了我的问题。
doctrine-bundle 1.2 -> doctrine/orm: >=2.2,<2.5-dev
。 - thomaskonrad