symfony2 – Doctrine侦听器与订阅者

我在Symfony2框架中工作,想知道什么时候使用Doctrine用户和监听器。 Doctrine对于听众的documentation是非常清楚的,但是订阅者是相当光明的。 Symfony的cookbook entry是类似的。
最佳答案
从我的角度来看,只有一个主要区别:

>监听器已注册,指定它侦听的事件。
>订阅者有一个方法告诉调度程序它正在侦听什么事件

这可能不是一个很大的区别,但如果你想想,有一些情况下,你想使用一个在另一个:

>您可以将一个侦听器分配给具有不同事件的许多调度程序,因为它们是在注册时设置的。你只需要确保每个方法都在监听器中就位
>您可以更改订阅者在运行时注册的事件,甚至在通过更改getSubscribedEvents的返回值注册订阅者之后(想想一个时间,您听到一个非常嘈杂的事件,您只想执行一次)

可能有其他的差异,我不知道!

转载注明原文:symfony2 – Doctrine侦听器与订阅者 - 代码日志