Symfony 中事件监听器和事件订阅者之间的区别

Med*_*nho 6 php symfony

我实际上正在学习 Symfony,关于事件,事实上我没有看到简单的侦听器和订阅者之间有任何区别,两者在做同样的事情,但肯定是有区别的,而 symfony 开发人员已经开发了两种方法监听一个事件。

我做了一项研究来发现这种差异,但没有找到明确且令人信服的答案。

听众和订阅者之间的主要区别是什么?哪一个最常用,它相对于另一个的优势是什么?如何知道使用简单侦听器或订阅者中的哪一个?

Zak*_*Zak 8

Symfony 文档

监听器和订阅者可以在同一个应用程序中模糊地使用。使用其中任何一个的决定通常取决于个人品味。然而,它们每个都有一些小优点:

订阅者更容易重用,因为事件的知识保存在类中而不是服务定义中。这就是 Symfony 在内部使用订阅者的原因

侦听器更加灵活,因为捆绑包可以根据某些配置值有条件地启用或禁用每个侦听器。