Laravel は、開発者が高品質の Web アプリケーションを構築できるようにするための多くの機能とツールを提供する人気の PHP フレームワークです。注目すべき機能の 1 つはミドルウェアです。これにより、開発者はリクエストがアプリケーションの最終宛先に到達する前に特定のアクションを実行できます。この記事ではLaravelミドルウェアの作成方法を紹介します。
ミドルウェアは、ルーティング リクエストをインターセプトする方法です。アプリケーションがリクエストを受信すると、ミドルウェアはリクエストを変更および制御するための一連の操作を実行します。ミドルウェアは、認証、アクセス制御、キャッシュなどのさまざまな操作に使用できます。
Laravel には、auth
、csrf
、throttle
などのいくつかのミドルウェアが付属しています。さらに、開発者は独自のミドルウェアを作成して、より具体的なタスクを実行できます。
Laravel でのミドルウェアの作成は非常に簡単です。次のコマンドを実行するだけで新しいミドルウェアを生成できます:
php artisan make:middleware MyMiddleware
上記のコマンドは Create a app/Http/Middleware
ディレクトリ内の MyMiddleware
という名前の新しいミドルウェア クラス。このクラスには、handle()
と __construct()
という 2 つのメソッドが含まれます。
handle()
メソッドはミドルウェアの中核であり、ミドルウェアの実行時に実行する必要がある操作を定義します。 handle()
メソッドは、リクエスト オブジェクトとコールバック クロージャの 2 つのパラメータを受け取ります。通常、ミドルウェアはリクエストを変更し、次のハンドラーに渡します。
以下は、リクエストの応答時間を記録するための簡単なミドルウェアの例です:
<?php namespace App\Http\Middleware; use Closure; use Illuminate\Support\Facades\Log; class ResponseTimeMiddleware { public function handle($request, Closure $next) { $start_time = microtime(true); $response = $next($request); $end_time = microtime(true); $response_time = round(($end_time - $start_time) * 1000, 2); Log::info("Response time: {$response_time}ms"); return $response; } }
上の例では、リクエストの開始時間を記録し、リクエストが終了した後に計算します。時間。次に、応答時間をアプリケーション ログに記録し、応答を返します。
ミドルウェアを使用するには、アプリケーションにミドルウェアを登録する必要があります。 Laravel ではミドルウェアを登録する 2 つの方法が提供されています。
グローバル ミドルウェアは、すべてのリクエスト ハンドラーの前に実行されます。グローバル ミドルウェアを登録するには、app/Http/Kernel.php
ファイルを開き、クラスを $middleware
プロパティに追加します。
たとえば、前に作成した ResponseTimeMiddleware
ミドルウェアを登録するには、次のコードを $middleware
配列に追加します。ミドルウェア
ファイルの $routeMiddleware
属性にカテゴリ名を追加します。 たとえば、前に作成した
ミドルウェアを登録するには、次のコードを $routeMiddleware
配列に追加します。ルート ファイルでは、カテゴリ名を使用して、使用するミドルウェアを指定できます。 <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">protected $middleware = [
\App\Http\Middleware\ResponseTimeMiddleware::class
];</pre><div class="contentsignin">ログイン後にコピー</div></div>
結論
ミドルウェアは、Laravel フレームワークの強力な機能であり、開発者は、ルート ファイルの前にリクエストを実行できます。 application リクエストの変更と制御。この記事では、Laravel ミドルウェアの作成と登録、およびそれらをアプリケーションで使用する方法について説明しました。これまでミドルウェアを使用したことがない場合は、時間をかけて学習し、使用し始めることをお勧めします。
以上がLaravelで中間キーを作成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。