我在这个上面挠头,所以也许有人可以帮助我。我之前没有遇到任何问题,但我是Symfony的新手,所以这次我很可能错过了一些东西。
每当我保存实体时,我都会尝试加载一个事件监听器来触发一些代码。
在我的app / config / config.yml中,我把它放了。
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中看到一些文件,但我不是。事件监听器正在注册并不会出现。
我在这里缺少什么?
答案 0 :(得分:1)
doctrine:event_listener
应为doctrine.event_listener