为什么使用事件监听器而不是库类或根本不使用它

时间:2013-07-17 16:01:25

标签: php event-handling laravel laravel-4

为什么要将代码写入Laravel事件监听器(例如Event::listen('user.login', 'LoginHandler'))而不是直接写入控制器功能?

如果几个不同的控制器函数调用相同的代码,为什么要使用事件监听器而不是从库类调用静态函数?

2 个答案:

答案 0 :(得分:0)

一个可能的例子是为您的网站编写“插件”,可以随意启用/禁用,并挂钩核心代码中的某些事件。

如果您只是想为个人使用而完全控制代码,那么您应该只使用库类。

答案 1 :(得分:0)

例如,我创建了一个想要在每次用户登录时发送API调用的包,使用事件监听器我只需添加事件而不触及库。

现在如果我更改库类怎么办?如果有另一个包想要替换相同的库类会发生什么?如果你必须在另一个选项上选择一个选项,那将变得乏味(或者说是限制)。