События preUpdate и postUpdate не запускаются в Doctrine 2

Я следовал инструкциям из это руководство:http://symfony.com/doc/current/cookbook/doctrine/event_listeners_subscribers.htmlи создали простой слушатель, который прослушивает события, отправляемые Doctrine при вставке или обновлении объекта. События preInsert и postInsert работают нормально и отправляются при создании нового объекта. Однако preUpdate и postUpdate никогда не вызываются при обновлении объекта, несмотря ни на что. То же самое касается onFlush. В качестве примечания: у меня есть сгенерированный консолью контроллер, который поддерживает основные операции CRUD, и я оставил его нетронутым.

Ниже приведены фрагменты кода, демонстрирующие, как я это делаю.

config.yml

annotation.listener:
    class: City\AnnotatorBundle\Listener\AnnotationListener
    tags:
        -  { name: doctrine.event_listener, event: postUpdate}

Реализация слушателя (Я опустил другие функции и оставил только postUpdate для простоты)

class AnnotationListener
{

    public function postUpdate(LifecycleEventArgs $args)
    {
        $entity=$args->getEntity();

        echo $entity->getId();
        die;
    }
}

Идентификатор сущности никогда не отображается, и скрипт продолжает свое выполнение до завершения, несмотря кубик в конце функции.

9
задан j0k 20 September 2012 в 19:22
поделиться