php - Symfony 中的 Doctrine 2 : Listening for events from a particular Entity

标签 php events doctrine symfony

我有一个 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 事件,然后将其传递给我的监听器?

目前(据我所知),每当 doctrine 产生 prePersist 事件时,所有监听器都会收到通知。说出哪些监听器应该监听哪些事件生成器(即使这应该是可选的)而不是通知所有人并让他们过滤他们需要的那些不是更好吗?

希望我的问题问对了。

最佳答案

关于php - Symfony 中的 Doctrine 2 : Listening for events from a particular Entity,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9232020/

相关文章:

php - 点击外部链接后链接到页面特定位置

php - 如果另一个字段的字段值不存在,则插入记录

javascript - 主干事件映射不工作

javascript - 如何检测正在播放的 Flash 视频的时间

mysql - 在 DQL 中加入并计数

php - PDO数据库类,返回错误

javascript - 什么可以解释浏览器间歇性地不加载某些 CORS(crossorigin)javascript 文件?

javascript - 渐进增强的 `select` 元素的 JavaScript 事件处理程序

php - Doctrine 迁移重新。固定装置

php - Doctrine 2 findBy* 返回对象