我有一个包含很多捆绑包的 Symfony 项目。
在其中一个中,我有一个像这样的标准 Doctrine 监听器:
class MyListener
{
public function postLoad(LifecycleEventArgs $args)
{
$entity = $args->getObject();
if ($entity instanceof MyEntity) {
//do something
}
...
现在我创建了一个新的 Bundle,它也将这些实体加载到控制器中。
正如预期的那样,它还触发了监听器中的 postLoad。
我需要它不要触发它,或者如果它是由这个 Bundle/Controller 触发的,则不要执行任何操作,例如:
class MyListener
{
public function postLoad(LifecycleEventArgs $args)
{
$entity = $args->getObject();
if ($caller = "DontTriggerBundle")
return true;
}
if ($entity instanceof MyEntity) {
//do something
}
...
有没有办法做到这一点?提前致谢
DIEA