我在Laravel找到了活动。 例如,在他们的文档中,用户登录日志:
Event::listen('user.login', function($user)
{
$user->last_login = new DateTime;
$user->save();
});
但是,没有事件,我可以在AccountController中创建其他函数,并且:
public function logLogin($user){
$user->last_login = new DateTime;
$user->save();
}
并从任何地方调用AccountController-> logLogin。
在Laravel中使用Event真正受益的是什么?
答案 0 :(得分:3)
事件非常有用,因为您可以触发一个事件并拥有多个订阅者。
这意味着如果用户登录并触发user.login
事件,您可以执行多个回调。
现在这意味着:如果您想为AccountController::logLogin
方法添加功能,则必须更改。
使用事件,您可以堆叠多个回调。
Event::listen('user.login', function($user)
{
$user->last_login = new DateTime;
$user->save();
});
Event::listen('user.login', function($user)
{
// Do some other thing
});
方便在于您不必为了添加新功能而改变任何方法。