【发布时间】:2015-03-19 19:58:45
【问题描述】:
我在下面有这个事件监听器,但它不工作:
<?php
namespace Project\BackendBundle\EventListener;
//src/Project/BackendBundle/EventListener/ClippedImagesManager.php
use Doctrine\ORM\Event\LifecycleEventArgs;
use Doctrine\ORM\Event\PostFlushEventArgs;
use Project\BackendBundle\Entity\Subitem;
class ClippedImagesManager
{
public function preUpdate(LifecycleEventArgs $args)
{
die("Event listener!!!");
}
//src/Project/BackendBundle/Resources/config/services.yml
services:
project.clipped_images_manager:
class: Project\BackendBundle\EventListener\ClippedImagesManager
tags:
- { name: doctrine.event_listener, event: preUpdate }
我期待“事件监听器!!”更新 BackendBundle 内的任何实体时触发。
【问题讨论】:
-
您的服务文件是否正在加载?您可以使用 app/console container:debug 来验证您的服务定义是否被找到。当然,你确实有 8k 代表,所以你可能已经检查过了。
-
你明白事件只在flush()上触发吗?实体一改变就不行?
标签: symfony doctrine-orm event-listener