阅读(4346) (9)

Laravel 8 注册驱动

2021-06-25 09:32:06 更新

当实现驱动后,需要在框架中注册它。在 Laravel 后端添加额外的驱动,需要使用 Session facadeextend 方法。你应该在 服务提供者 中的 boot 方法中调用 extend 方法。你可以在已有的 AppServiceProvider 或者另外创建一个服务提供者执行此操作:

<?php

namespace App\Providers;

use App\Extensions\MongoSessionHandler;
use Illuminate\Support\Facades\Session;
use Illuminate\Support\ServiceProvider;

class SessionServiceProvider extends ServiceProvider
{
    /**
     * 在容器中注册绑定关系
     *
     * @return void
     */
    public function register()
    {
        //
    }

    /**
     * 执行服务的注册后启动
     *
     * @return void
     */
    public function boot()
    {
        Session::extend('mongo', function ($app) {
            // Return implementation of SessionHandlerInterface...
            return new MongoSessionHandler;
        });
    }
}

驱动完成注册时,你可以在使用在配置文件 config/session.php 中使用 mongo 驱动。