Symfony事件监听器未触发


Symfony event listener not firing

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

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

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

services:
    fu_bar.listener:
        class: Fu'BarBundle'EventListener'AuthCheckListener
        tags:
            - { name: doctrine.event_listener, event: postPersist, connection: default }
            - { name: doctrine.event_listener, event: preUpdate, connection: default }

在我的Fu'BarBundle'EventListener'AuthCheckListener中,我这样做是为了看到我击中了这些方法,而我没有。

<?php
namespace Fu'BarBundle'EventListener;
use Doctrine'ORM'Event'LifecycleEventArgs;
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

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