Laravel 8 中间件(Middleware)>> 解析与使用
// 在 Laravel 8 中创建一个新的中间件
// 使用 Artisan 命令创建中间件
// php artisan make:middleware CheckAge
namespace App\Http\Middleware;
use Closure;
class CheckAge
{
/**
* 处理传入的请求。
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
if ($request->age <= 18) {
return redirect('home'); // 如果年龄小于等于 18 岁,重定向到 home 页面
}
return $next($request); // 如果年龄大于 18 岁,继续请求处理流程
}
}
// 注册中间件到 Laravel 应用中
// 在 app/Http/Kernel.php 文件中的 $routeMiddleware 数组中添加中间件
protected $routeMiddleware = [
// ...
'check.age' => \App\Http\Middleware\CheckAge::class,
];
// 使用中间件
// 在路由中间件参数定义时使用:
Route::get('profile', function () {
// 只有年龄大于 18 岁的用户才能访问这个路由
})->middleware('check.age');
这个示例代码展示了如何在 Laravel 8 中创建一个名为 CheckAge
的中间件,用于检查用户的年龄是否大于 18 岁。如果年龄小于或等于 18 岁,用户会被重定向到 home 页面。如果年龄大于 18 岁,则用户可以继续访问请求的路由。最后,展示了如何在 app/Http/Kernel.php
文件中注册这个中间件,并在路由中使用它。
评论已关闭