在Laravel中,中間件用于過濾HTTP請求,在請求到達應用程序的控制器之前對請求進行處理。要使用中間件,首先需要創建一個中間件類,可以通過artisan命令生成:
php artisan make:middleware MyMiddleware
然后,在生成的中間件類中,編寫處理請求的邏輯,例如:
namespace App\Http\Middleware;
use Closure;
class MyMiddleware
{
public function handle($request, Closure $next)
{
// 在請求到達應用程序之前執行的邏輯
return $next($request);
}
}
接著,將中間件注冊到應用程序中。可以在app/Http/Kernel.php
文件的$routeMiddleware
屬性中定義中間件:
protected $routeMiddleware = [
'mymiddleware' => \App\Http\Middleware\MyMiddleware::class,
];
然后,可以將中間件應用到路由或控制器中,例如:
Route::get('admin', function () {
//
})->middleware('mymiddleware');
或者在控制器中使用中間件:
public function __construct()
{
$this->middleware('mymiddleware');
}
這樣,在訪問/admin
路由時,請求會先經過MyMiddleware
中間件進行處理。