Laravel 注册中间件

122 阅读1分钟

创建一个中间件 TestMiddleware

使用命令行 : php artisan make:middleware TestdMiddleware

在中间件类的 handle 方法中添加逻辑来检查需要的参数

<?php
namespace App\Http\Middleware;
use Closure;
class TestMiddleware
{
    public function handle($request, Closure $next)
    {
        // 验证逻辑...
        return $next($request);
    }
}

注册中间件: 将 TestMiddleware 注册到 app/Http/Kernel.php 文件的 $routeMiddleware 数组中

protected $routeMiddleware = [
    // 其他中间件...
    'check.token.and.id' => \App\Http\Middleware\TestMiddleware::class,
];

在路由中使用中间件: 在需要验证参数的路由上使用中间件

use App\Http\Middleware\CheckTokenAndIdMiddleware; //引入

Route::middleware([CheckTokenAndIdMiddleware::class])->group(function () {
    // 在这里定义需要验证的所有路由
    Route::get('/example1', [ExampleController::class, 'example1']);
    Route::post('/example2', [ExampleController::class, 'example2']);
});

// 排除不需要验证的路由
Route::post('/register', [RegisterController::class, 'register']);
Route::post('/login', [LoginController::class, 'login']);