我需要创建侦听器或处理程序,以便为 AccessDenied异常提供一些操作。
我看过一些标准处理程序和监听器的来源,所以看起来它们可以用于同样的任务。
我也读到了这个:
但只有我见过的差异 - 处理程序经常用于处理异常。
那么,Symfony中处理程序和监听器之间的真正区别是什么?
答案 0 :(得分:5)
Listeners
。使用Observer或PubSub模式。
Handler
更多的是strategy pattern,它将实现细节委托给了类。哪个可以替代。 (继承的构成)
在某些情况下,这些模式可能是可以互换的,而且代码的意图更多的是要求一个或另一个。