编辑:这仅适用于5.0.*和5.1.*。
有关 5.2.* 解决方案,请参阅下面的 JuLiAnc 响应。
在处理了两个建议的答案以及更多的研究之后,我终于弄清楚了如何以我最初尝试的方式做到这一点。
我运行以下工匠命令
$ php artisan handler:event AuthLoginEventHandler
然后,我更改了生成的类,删除了 Event 类的导入,并导入了用户模型。我还传递了 and 到 handle 方法,因为当 auth.login 事件被触发时,这就是传递的内容。User $user
$remember
<?php namespace App\Handlers\Events;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Contracts\Queue\ShouldBeQueued;
use App\User;
class AuthLoginEventHandler {
/**
* Create the event handler.
*
* @return void
*/
public function __construct()
{
//
}
/**
* Handle the event.
*
* @param User $user
* @param $remember
* @return void
*/
public function handle(User $user, $remember)
{
dd("login fired and handled by class with User instance and remember variable");
}
}
现在我打开了事件服务提供.php并修改了数组,如下所示:$listen
protected $listen = [
'auth.login' => [
'App\Handlers\Events\AuthLoginEventHandler',
],
];
我意识到,如果一开始这不起作用,你可能需要
$ php artisan clear-compiled
我们开始吧!现在,我们可以使用事件处理程序类通过 auth.login 事件响应用户登录!