我对 Laravel 很陌生,想知道如何设置一个函数来在事件上运行。具体来说,当用户注销时,我该如何调用函数?
最好的方法是什么,注册一个新的注销事件,或者 Laravel 7 是否已经有一个文件我可以编辑以在注销时运行命令?
谢谢你的帮助。
我对 Laravel 很陌生,想知道如何设置一个函数来在事件上运行。具体来说,当用户注销时,我该如何调用函数?
最好的方法是什么,注册一个新的注销事件,或者 Laravel 7 是否已经有一个文件我可以编辑以在注销时运行命令?
谢谢你的帮助。
确实已经定义了一个注销事件,当用户注销时会触发该事件。它位于Illuminate\Auth\Events\Logout
。
您需要创建一个新事件Listener,然后告诉 Laravel 让该侦听器订阅 Logout 事件,方法是将映射添加到 EventServiceProvider.php,如下所示:
class EventServiceProvider extends ServiceProvider
{
protected $listen = [
...
Logout::class => [
'App\Listeners\HandleLogout',
],
...
];
...
然后您可以在 app/Listeners 中创建一个 Listener 类,如下所示:
注销处理程序.php
class LogoutHandler
{
/**
* Handle the event.
*
* @param Logout $event
* @return void
*/
public function handle(Logout $event)
{
$event->user; // The user that logged out
#event->guard; // The auth guard used
}
}