为什么要将代码写入Laravel事件监听器(如Event::listen('user.login', 'LoginHandler')
),而不是直接写入控制器函数?
如果几个不同的控制器函数调用相同的代码,为什么要使用事件侦听器而不是从库类中调用静态函数?
一个可能的例子是在为您的站点编写"插件"时,可以随意启用/禁用这些插件,并挂接到核心代码中的某些事件中。
如果你只想写一些对代码有完全控制权的个人使用的东西,你应该只使用库类。
例如,我创建了一个包,每次用户登录时都要发送一个API调用,使用事件侦听器,我只需添加事件,而无需接触库。
现在,如果我改为更改库类呢?如果有另一个包想要替换同一个库类,会发生什么?当你不得不选择一个选项而不是另一个选项时,这将变得乏味(或者更确切地说是限制性的)。