2014-09-04 28 views
0

我有一個經理和一個方法。 在此方法中,我想添加一個監聽器連接到教義和使用:Symfony2:addListener不使用EventSubscriber類

$dispatcher = $this->container->get("event_dispatcher"); 
$dispatcher->addListener(Events::onFlush, function (Event $event) { 
    var_dump('test');die; 
}); 

但在這種情況下,沒有追加。 你有解決方案來完成這個嗎?我讀了很多關於收聽時間的文件,但我不明白爲什麼沒有工作:/ (我不希望使用EventSubscriber類)

謝謝

回答

1

您的代碼似乎不錯,您必須使用教義事件調度程序,而不是Symfony調度程序。

$doctrineEventManager = $this->em->getEventManager(); 
$doctrineEventManager->addEventListener(Events::onFlush, New YourEventListenerClass()});; 
+0

這是我的嘗試之一,但這樣做我有這樣的錯誤:「致命錯誤:調用未定義的方法關閉:: onFlush()」:當然應該閉幕寫得很好的/ – Draeli 2014-09-04 10:24:30

+0

是,給一個請看文檔:http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/reference/events.html#onflush。 '''公共函數onFlush(OnFlushEventArgs $ eventArgs)''' – skler 2014-09-04 10:28:48

+0

你是真實的,但在這種情況下,就像做一個「EventSubscriber類」,這是我想避免:( – Draeli 2014-09-04 10:37:48