在 Laravel 中,用 php artisan make:middleware CheckAge 命令可自动生成中间件类文件至 app/Http/Middleware/ 目录,默认含 handle 方法;需手动注册到 Kernel.php 的 $middleware、$middlewareGroups 或 $routeMiddleware 数组中才能生效。

在 Laravel 中,用 Artisan 命令创建中间件非常简单,只需一条命令即可自动生成中间件类文件,并放在 app/Http/Middleware/ 目录下。
运行 artisan make:middleware 命令
在项目根目录下打开终端,执行:
php artisan make:middleware CheckAge
这会生成一个名为 CheckAge.php 的中间件类,位于 app/Http/Middleware/CheckAge.php。默认包含一个 handle 方法,你可以在其中编写请求处理逻辑。
中间件类结构说明
生成的中间件包含基础骨架:
-
$next是下一个请求处理器(可能是另一个中间件或最终控制器) - 必须调用
$next($request)才能让请求继续向下传递 - 可在调用前做前置检查(如权限、参数验证),也可在调用后处理响应
注册中间件才能生效
生成后中间件不会自动启用,需手动注册:
- 全局中间件:添加到
app/Http/Kernel.php的$middleware数组中 - 分组中间件(如 web/api):添加到
$middlewareGroups对应数组里 - 路由中间件:在定义路由时用
->middleware(CheckAge::class)或字符串名'check.age'(需先在 Kernel 中分配别名)
给中间件起别名(可选但推荐)
在 app/Http/Kernel.php 的 $routeMiddleware 数组中添加:
'check.age' => \App\Http\Middleware\CheckAge::class,
之后就能在路由中简洁地使用:Route::get('/test', [TestController::class, 'index'])->middleware('check.age');


















