我有一个关于正确在Symfony2中做事的基本问题,特别强调了Doctrine事件订阅者。我知道如何实现它们,但有些东西一直困扰着我。目前,我有以下课程。
namespace MyProject\MainBundle\EventSubscriber;
use Doctrine\Common\EventSubscriber;
use Doctrine\ORM\Event\LifecycleEventArgs;
use MyBundle\MainBundle\Entity\LandingPageAggregator;
class LandingPageAggregatorSubscriber implements EventSubscriber {
/**
* Returns an array of events this subscriber wants to listen to.
*
* @return array
*/
public function getSubscribedEvents() {
return array(
'prePersist',
'preUpdate',
);
}
public function prePersist(LifecycleEventArgs $args) {
$entity = $args->getObject();
if (!$entity instanceof LandingPageAggregator)
return;
// Adittional stuff here...
}
}
我是从this Symfony article得到的,而且工作正常,我的问题如下:
prePersist
方法?这似乎是资源的巨大浪费,因此这个问题的目的。 作为一个附带问题,上面链接的Symfony文档中所述的监听器和用户之间有什么区别?
感谢您的任何建议!