我正在阅读:http://symfony.com/doc/current/cookbook/doctrine/event_listeners_subscribers.html
似乎使用Doctrine事件监听器这种方式有点浪费,因为我不能只定义要监听的特定实体,而必须在监听器类中检查实体的类。这似乎是一种浪费。有没有办法表明要听的特定实体?
答案 0 :(得分:3)
没有。您需要将此逻辑包含在侦听器的顶部。这通常是instanceof
检查:
public function prePersist($eventArgs)
{
// i.e. using the MongoDB ODM
$doc = $eventArgs->getDocument();
if (!$doc instanceof MyModel) {
return;
}
}
答案 1 :(得分:1)
由于Doctrine 2.4可以使用Entity listeners,因此仅针对特定实体类型调用它们。