laravel 中间件的使用
// 创建中间件的测试// 1.创建中间件
// php artisan make:middleware LaomoToken 创建了一个名叫 LaomoToken 的中间件
// 中间件所在位置:app/Http/Comtrollers/Middleware/LaomoToken.php
//
// 2.确认中间件的【执行顺序】,是过滤 输入 还是过滤输出。
// 2.1 如果过滤输入 : return $next($request);
// 2.2 如果过滤输出 : return $response;
//
// 3.注册中间件三类
// 3.1 如果是 全局中间件
// 注册三类:将相应的中间件类添加到 app/Http/Kernel.php 的数组属性 $middleware
// 例:
// protected $middleware = [
// LaomoToken::class,
// ];
//
// 3.2 分配中间件到指定路由
// 3.2.1 在 app/Http/Kernel.php 文件中分配给该中间件一个 key 追加到routeMiddleware中
// 例:
// protected $routeMiddleware = [
// 'lma' => \App\Http\Middleware\LaomoToken::class
// ];
//
// 3.3 分配到指定路由
//
// 3.3。1 分配方式1 【键】偷个懒用两个中间件试试
// 例:
// Route::get('/', function () {
//
//
// })->middleware('lma', 'auth');
//
// 3.3.2 分配方式 完整类名【不推荐】
//
// })->middleware('lma', 'auth');
//
// 3.3.3
//
// 3.4 中间件组 【指定一个键名的方式将相关中间件分到同一个组里面】
// [存在意义:中间件组的目的只是让一次分配给路由多个中间件的实现更加方便]
//
// 操作:在 HTTP Kernel 提供的 $middlewareGroups追加
//
// 'blog' => [
// 'lma',
// ]
//
// 4.中间件参数
//
// 用处吗,例如权限判断之流
//
// 中间件参数可以在定义路由时通过 : 分隔中间件名和参数名来指定,多个中间件参数可以通过逗号分隔:
//
// Route::put('post/{id}', function ($id) {
//
// })->middleware('role:editor');
//
// 5.终端中间件【善后中间件,比方说 session 设置的】
//
// 方式: 添加 terminate 方法
// class StartSession
// {
// public function handle($request, Closure $next)
// {
// return $next($request);
// }
//
// public function terminate($request, $response)
// {
// // 存储session数据...
// }
// }
//
页:
[1]