Laravel 中创建自定义中间件需运行 php artisan make:middleware CheckAge 生成类,在 handle 方法中编写逻辑(如检查年龄≥18),再注册并应用到路由或控制器。

在 Laravel 中创建自定义中间件很简单,核心是使用 Artisan 命令生成类,然后在 handle 方法里写逻辑,最后注册并应用到路由或控制器。
Laravel 提供了便捷命令自动创建中间件文件:
php artisan make:middleware CheckAge
app/Http/Middleware/ 目录下生成 CheckAge.php
handle 方法和 $next 参数(代表下一个请求处理者)比如限制用户必须年满 18 岁才能访问某页面:
<?php
namespace App\Http\Middleware;
use Closure;
use Illuminate\Http\Request;
class CheckAge
{
public function handle(Request $request, Closure $next)
{
if ($request->age < 18) {
return redirect('home');
}
return $next($request);
}
}
注意:$next($request) 必须被调用,否则请求链会中断;返回 redirect 或 response 可提前终止流程。
中间件需先注册才能使用:
app/Http/Kernel.php 的 $middleware 数组中添加$middlewareGroups 对应数组里(例如 web)$routeMiddleware 中注册别名,例如:'age' => \App\Http\Middleware\CheckAge::class,
注册别名后,即可灵活调用:
Route::get('/profile', [ProfileController::class, 'show'])->middleware('age');
->middleware(['auth', 'age'])
$this->middleware('age');
$this->middleware('age')->only('edit');
基本上就这些。中间件本质就是请求-响应管道中的一个处理环节,写清楚判断条件和放行/拦截逻辑,再正确注册和调用,就能满足绝大多数权限、校验、日志等场景需求。
以上就是Laravel如何创建自定义中间件?(Middleware代码示例)的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号