2017-10-15 82 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); 
} 
相关问题