ホームページ  >  記事  >  PHPフレームワーク  >  Laravelで中間キーを作成する方法

Laravelで中間キーを作成する方法

PHPz
PHPzオリジナル
2023-04-11 15:05:28889ブラウズ

Laravel は、開発者が高品質の Web アプリケーションを構築できるようにするための多くの機能とツールを提供する人気の PHP フレームワークです。注目すべき機能の 1 つはミドルウェアです。これにより、開発者はリクエストがアプリケーションの最終宛先に到達する前に特定のアクションを実行できます。この記事ではLaravelミドルウェアの作成方法を紹介します。

ミドルウェアとは

ミドルウェアは、ルーティング リクエストをインターセプトする方法です。アプリケーションがリクエストを受信すると、ミドルウェアはリクエストを変更および制御するための一連の操作を実行します。ミドルウェアは、認証、アクセス制御、キャッシュなどのさまざまな操作に使用できます。

Laravel には、authcsrfthrottle などのいくつかのミドルウェアが付属しています。さらに、開発者は独自のミドルウェアを作成して、より具体的なタスクを実行できます。

ミドルウェアの作成

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 配列に追加します。ミドルウェア

ルートミドルウェアは、指定されたルート上でのみ実行されます。ルートミドルウェアを登録するには、

app/Http/Kernel.php

ファイルの $routeMiddleware 属性にカテゴリ名を追加します。 たとえば、前に作成した

ResponseTimeMiddleware

ミドルウェアを登録するには、次のコードを $routeMiddleware 配列に追加します。ルート ファイルでは、カテゴリ名を使用して、使用するミドルウェアを指定できます。 <pre class="brush:php;toolbar:false">protected $middleware = [     \App\Http\Middleware\ResponseTimeMiddleware::class ];</pre>結論

ミドルウェアは、Laravel フレームワークの強力な機能であり、開発者は、ルート ファイルの前にリクエストを実行できます。 application リクエストの変更と制御。この記事では、Laravel ミドルウェアの作成と登録、およびそれらをアプリケーションで使用する方法について説明しました。これまでミドルウェアを使用したことがない場合は、時間をかけて学習し、使用し始めることをお勧めします。

以上がLaravelで中間キーを作成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。