ホームページ >PHPフレームワーク >Laravel >Laravel 開発: Laravel ミドルウェアの使用方法?

Laravel 開発: Laravel ミドルウェアの使用方法?

王林
王林オリジナル
2023-06-14 13:19:481441ブラウズ

人気の PHP フレームワークである Laravel は、開発プロセス中に Middleware ミドルウェアをよく使用します。この記事では、Laravel ミドルウェアの使用の基本と、カスタム ミドルウェアの作成および使用方法について説明します。

Laravel ミドルウェア ミドルウェアは、HTTP リクエストをフィルタリングするためのメカニズムです。これらは、ユーザーの認証、アクセスの許可、リクエストのログ記録など、複雑な HTTP リクエスト ロジックを処理するためによく使用されます。

Laravel には、次のようないくつかの組み込みミドルウェアが付属しています。

  • auth: ユーザーがログインしているかどうかを確認するために使用されます。
  • throttle: ユーザーが一定期間内に実行できるリクエストの数を制限するために使用されます。

この記事では、Laravel 独自の Middleware ミドルウェアを使用して、これらの基本概念を説明します。さらに、カスタム ミドルウェアを作成して、独自のミドルウェアの作成方法を示します。

組み込みミドルウェアの使用

まず、Laravel で組み込みミドルウェアを使用する方法を見てみましょう。組み込みミドルウェアを使用するには、それを $routeMiddleware 配列に追加するだけです。この配列は appHttpKernel.php ファイルにあります。この配列にはすべてのデフォルトのミドルウェアが含まれており、各ミドルウェアにはそれに関連付けられたキーがあります。

たとえば、認証キー名を使用して認証ミドルウェアを有効にできます。

protected $routeMiddleware = [
    'auth' => IlluminateAuthMiddlewareAuthenticate::class,
];

Laravel は、ミドルウェアのパラメータ化された受け渡しもサポートしています。たとえば、スロットルを使用してユーザーが 60 秒以内に最大 5 ページにアクセスできるように制限したい場合は、次のように記述できます。

protected $routeMiddleware = [
    'throttle' => IlluminateRoutingMiddlewareThrottleRequests::class.':5,60',
];

注: ここでの数字の順序は、スロットルミドルウェアコンストラクター。これは、Laravel がパラメータを文字列として渡すことをサポートしているためです。

カスタムミドルウェアの作成

Laravel は、事前定義されたミドルウェアの使用に加えて、独自のミドルウェアの作成もサポートしています。カスタムミドルウェアを作成して使用する方法を見てみましょう。

これを実証するために、MyMiddleware というカスタム ミドルウェアを作成します。このミドルウェアは、リクエストが処理される前にテキストを出力するだけで済みます。

まず、artisan コマンドを使用してミドルウェア クラスを作成する必要があります:

php artisan make:middleware MyMiddleware

次に、app/Http/Middleware/MyMiddleware.php ファイルを開いて、ミドルウェア ロジックを記述する必要があります。

<?php

namespace AppHttpMiddleware;

use Closure;

class MyMiddleware
{
    public function handle($request, Closure $next)
    {
        echo "My middleware is working!";
        return $next($request);
    }
}

この例では、リクエストを処理する前にテキストを出力するだけで済みます。このテキストには何でも構いません。たとえば、デバッグ情報、ログ、エラー メッセージなどを出力できます。

ミドルウェアを作成した後、それをLaravelアプリケーションに登録する必要があります。 app/Http/Kernel.php ファイルで、ミドルウェア クラス名を $routeMiddleware 配列に追加できます。これにより、ルートとコントローラーでミドルウェアが使用できるようになります。

protected $routeMiddleware = [
    'mymiddleware' => AppHttpMiddlewareMyMiddleware::class,
];

注: ご覧のとおり、後続のルートとコントローラーで使用するキー名として MyMiddleware クラスの名前を使用します。

この新しいミドルウェアを使用するには、通常どおりミドルウェア配列に追加するだけです。私たちの場合、これを Web サイトのルートに追加できます:

Route::middleware(['mymiddleware'])->group(function () {
    // Your routes here
});

これで、アプリケーションからリクエストを受信すると、最初にミドルウェアが呼び出され、次にリクエスト処理が行われます。

概要

この記事では、Laravel のミドルウェアの基本について説明し、Laravel の組み込みミドルウェアの使用方法とカスタム ミドルウェアの作成方法と使用方法を説明しました。ミドルウェア。これは単純な例にすぎません。ミドルウェアの概念は非常に重要であり、HTTP リクエストの処理に関する多くの複雑な問題を解決するために使用できます。したがって、ミドルウェアの使用方法を学ぶことは、Laravel 開発プロセスにおいて非常に重要なステップです。

以上がLaravel 開発: Laravel ミドルウェアの使用方法?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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