Laravel中使用Event的真正好处是什么?

时间:2014-12-14 13:51:35

标签: php laravel

我在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真正受益的是什么?

1 个答案:

答案 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
});

方便在于您不必为了添加新功能而改变任何方法。