2013-06-04 2 views
0

Doctrine에서 이벤트 트리거를 설정하려고합니다. atm을 완료 한 querybuilder에 액세스 할 수 있습니다.Doctrine 2 Events

내 모듈에 수신기를 설치했습니다 :

$doctrineEventManager = $e->getApplication()->getServiceManager()->get('doctrine.eventmanager.default_orm'); 

$doctrineEventManager->addEventListener('example', function($eventArgs) { 
       die("event"); 
    }); 

그리고 내 저장소에

:

$this->getEntityManager()->getEventManager()->dispatchEvent('example', $query); 

그러나 그것이 작동하지 않습니다 때문에 내가 뭔가 잘못하고 또는 somehting을 누락 보인다 ..

이 간단한 루틴을 구현하는 방법을 찾을 수 없습니다.

고마워.

답변

0

필요한 이벤트 함수로 클래스를 정의해야 자동으로 호출됩니다.

$doctrineEventManager->addEventListener('example', new ExampleEvent()); 

그런 다음, ExampleEvent 클래스를 생성하고 추가 "예"기능 : 당신이 당신의 repo에서 이벤트를 트리거 할 필요가 후

<?php 
class ExampleEvent { 
     public function example($eventArgs) { 
       // do whatever you want.. 
     } 
} 

:

$this->getEntityManager()->getEventManager()->dispatchEvent('example', $eventArgs); 

나는하지 않았다 시도해보십시오. 그러나 간단히 말해서 이와 비슷한 것입니다.