現在の位置: ホーム> 最新記事一覧> Laravel Middlewareの実装の詳細な説明:開発プロセスを完了し、実用的な例

Laravel Middlewareの実装の詳細な説明:開発プロセスを完了し、実用的な例

gitbox 2025-07-01

Laravelミドルウェアとは何ですか

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アプリケーションの構築に役立ちます。