Symfony事件监听器未触发



我对这个问题很挠头,所以也许有人可以帮助我。我以前这样做过,没有任何问题,但我是Symfony的新手,所以这次我可能会错过一些东西。

我正在尝试加载一个事件侦听器,以便在保存实体时触发一些代码。

在我的app/config/config中。我把这个。

services:
    fu_bar.listener:
        class: FuBarBundleEventListenerAuthCheckListener
        tags:
            - { name: doctrine.event_listener, event: postPersist, connection: default }
            - { name: doctrine.event_listener, event: preUpdate, connection: default }

在我的FuBarBundleEventListenerAuthCheckListener中,我这样做是为了看到我击中了这些方法,而我没有。

<?php
namespace FuBarBundleEventListener;
use DoctrineORMEventLifecycleEventArgs;
class AuthCheckListener {
    public function preUpdate(LifecycleEventArgs $args) {
        file_put_contents('/tmp/yyy', 'ffdf');
    }
    public function postPersist(LifecycleEventArgs $args) {
        file_put_contents('/tmp/xxx', 'fff');
        //$this->syncAuth($args);
    }    
}

当我保存一个实体时,我希望在/tmp中看到一些文件,但我没有。似乎没有注册事件侦听器。

我在这里错过了什么?

doctrine:event_listener应为doctrine.event_listener

  • 使用点符号表示服务和参数
  • 使用冒号符号用于控制器、视图和这些类型的"对象"

相关内容

  • 没有找到相关文章

最新更新