Laravelでは、ミドルウェアはHTTP要求を処理するための重要なメカニズムです。これにより、開発者はコントローラーの入力を要求する前に、または送信者アプリケーションの去りに応答した後、一連の論理操作を実行できます。一般的な用途には、許可確認、ロギング、クロスサイトリクエストの偽造保護などが含まれます。ミドルウェアは、アプリケーションのセキュリティとモジュール性に強力なサポートを提供します。
Laravelの職人コマンドラインツールを使用して、ミドルウェアを作成できます。 Checkageと呼ばれるミドルウェアを作成するコマンドは次のとおりです。
php artisan make:middleware CheckAge
このコマンドは、App/HTTP/MiddlewareディレクトリにCheckage.phpファイルを生成します。
作成後、チェックファイルを開き、必要なロジックをハンドルメソッドに追加します。ユーザーが18歳以上であるかどうかを判断するためのサンプルコードは次のとおりです。
public function handle($request, Closure $next)
{
if ($request->age < 18) {
return redirect('home');
}
return $next($request);
}
上記のコードでは、リクエストの年齢が18歳未満の場合、システムはユーザーをホームページにリダイレクトします。
ミドルウェアロジックが記述された後、 APP/http/kernel.phpファイルに登録する必要があります。オンデマンドを簡単に読み込むためのルーティングミドルウェアとして定義できます。
protected $routeMiddleware = [
'age' => \App\Http\Middleware\CheckAge::class,
];
この定義の後、ルート内の年齢のエイリアスを使用して、ミドルウェアを参照できます。
ミドルウェア登録が完了したら、ルーティングファイルで使用できます。たとえば、 Routes/web.phpでは、これを書くことができます。
Route::get('profile', function () {
// プロファイルロジック
})->middleware('age');
これは、 /プロファイルパスにアクセスするときに、チェックミドルウェアが自動的にトリガーされ、許可判断を下すことを意味します。
Laravel Middlewareは、開発者に、HTTPリクエストで前処理とポストプロセスのロジックを処理するエレガントで柔軟な方法を提供します。作成、ロジックの書き込み、登録およびルーティングコールまで、プロセス全体が簡潔で明確です。ミドルウェアの使用を習得すると、より安全で保守可能なWebアプリケーションの構築に役立ちます。