我有一个Symphony 3.4项目,有超过150个类,几乎所有类都声明了doctrine.event_listener的postLoad方法。
因此,我在postLoad上有超过150个调用,并且只为每个请求执行极少数的方法,因为我在PostLoad中检查了if实例化的类是每个方法使用的类。
public function postLoad(LifecycleEventArgs $args)
{
$article = $args->getEntity();
if ($article instanceof Article) {
如果我正在加载另一个实体,则代码不会执行,但无论如何都会触发postLoad。
当类甚至没有实例化时,有没有办法避免这个调用(postLoad)?
谢谢!!!
答案 0 :(得分:0)
找到了解决方案。
https://github.com/doctrine/DoctrineBundle/issues/650
使用标记doctrine.orm.entity_listener作为侦听器。