如何在持久化实体时创建事件监听器
问题描述:
我对Symfony上的事件监听器非常陌生,我希望找到一种在特定实体(即用户)持续存在时触发事件的好方法。如何在持久化实体时创建事件监听器
我已经通过文档搜索,虽然我发现对onKernel事件的引用我是无法创建我需要的监听器。你能指点我正确的方向还是举个例子?
答
这是有据可查的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);
}
HTTP://docs.doctrine-project .ORG /项目/学说-ORM/EN /最新/参考/ events.html – Cerad