2017-10-15 79 views
0

我對Symfony上的事件監聽器非常陌生,我希望找到一種在特定實體(即用戶)持續存在時觸發事件的好方法。如何在持久化實體時創建事件監聽器

我已經通過文檔搜索,雖然我發現對onKernel事件的引用我是無法創建我需要的監聽器。你能指點我正確的方向還是舉個例子?

+0

HTTP://docs.doctrine-project .ORG /項目/學說-ORM/EN /最新/參考/ events.html – Cerad

回答

3

這是有據可查的here

你基本上創建一個實現Doctrine\Common\EventSubscriber,然後你有一個方法getSubscribedEvents()在其中添加要觸發它的事件類,它看起來像:

public function getSubscribedEvents() 
{ 
    return ['postPersist']; 
} 

public function postPersist(LifecycleEventArgs $args) 
{ 
    $object = $args->getEntity(); 

    if (!$object instanceof User) { 
     return; 
    } 

    $this->doSomething($object); 
} 
相關問題