在 Laravel 中,创建中间件的过程非常简单。请按照以下步骤操作:
打开命令行或终端。
导航到您的 Laravel 项目根目录。
使用以下命令创建一个新的中间件类:
php artisan make:middleware YourMiddlewareName
将 YourMiddlewareName 替换为您想要的中间件名称。例如,如果您想要创建一个名为 AuthMiddleware 的中间件,您可以运行:
php artisan make:middleware AuthMiddleware
这将在 app/Http/Middleware 目录下生成一个新的中间件类文件。
handle 的方法,该方法接收两个参数:$request 和 $next。在这个方法中,您可以编写您的中间件逻辑。例如,以下是一个简单的身份验证中间件示例:
<?php
namespace App\Http\Middleware;
use Closure;
use Illuminate\Http\Request;
class AuthMiddleware
{
public function handle(Request $request, Closure $next)
{
if (!$request->user()) {
return redirect('/login');
}
return $next($request);
}
}
app/Http/Kernel.php 文件中注册您的中间件。找到 $routeMiddleware 属性,并将您的中间件添加到数组中。例如:protected $routeMiddleware = [
// ...
'auth' => \App\Http\Middleware\AuthMiddleware::class,
];
现在,您可以在路由定义中使用 auth 中间件了。例如,在 routes/web.php 文件中:
Route::get('/dashboard', 'DashboardController@index')->middleware('auth');
这将确保只有经过身份验证的用户才能访问 /dashboard 路由。