Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 注销事件(Laravel 7)_Php_Laravel_Laravel Events_Laravel 7.x - Fatal编程技术网

Php 注销事件(Laravel 7)

Php 注销事件(Laravel 7),php,laravel,laravel-events,laravel-7.x,Php,Laravel,Laravel Events,Laravel 7.x,我对Laravel很陌生,想知道如何设置一个函数来运行事件。具体来说,当用户注销时,如何调用函数 注册一个新的注销事件,或者Laravel 7是否已经有一个文件可以编辑以在注销时运行命令,这样做的最佳方式是什么 谢谢您的帮助。您可以收听。确实已经定义了一个注销事件,当用户注销时会触发该事件。它位于照明\Auth\Events\Logout 您需要创建一个新事件,然后告诉Laravel让该侦听器订阅注销事件,方法是添加到EventServiceProvider.php的映射,如下所示: class

我对Laravel很陌生,想知道如何设置一个函数来运行事件。具体来说,当用户注销时,如何调用函数

注册一个新的注销事件,或者Laravel 7是否已经有一个文件可以编辑以在注销时运行命令,这样做的最佳方式是什么


谢谢您的帮助。

您可以收听。

确实已经定义了一个注销事件,当用户注销时会触发该事件。它位于
照明\Auth\Events\Logout

您需要创建一个新事件,然后告诉Laravel让该侦听器订阅注销事件,方法是添加到EventServiceProvider.php的映射,如下所示:

class EventServiceProvider extends ServiceProvider
{

    protected $listen = [
        ...
        Logout::class => [
            'App\Listeners\HandleLogout',
        ],
        ...
    ];
   
    ...
然后,您可以在app/Listeners中创建一个侦听器类,如下所示:

LogoutHandler.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
    }
}


但是,应该注意,会话过期或关闭浏览器窗口之类的操作不会生成这些事件之一。如果你想做一些类似“谁在线”的事情,你需要一种不同的方法,比如WebSocket。