Laravel は、Web 開発で広く使用されている人気のある PHP フレームワークです。 Web 開発では、リクエストを処理するためにリクエスト パスを取得する必要があることがよくありますが、Laravel にはリクエスト パスを取得するためのさまざまなメソッドが用意されています。この記事では、これらの方法とその使用法について学びます。
1. Illuminate\Http\Request クラスを使用する
Illuminate\Http\Request クラスは、Laravel のコア クラスの 1 つで、HTTP リクエストをカプセル化し、多くの便利なメソッドを提供します。現在のリクエストのパスを取得するには、Request クラスの path() メソッドを使用できます。このメソッドは、クエリ パラメーターを除いた、現在のリクエストのパスを返します。サンプル コードは次のとおりです。
use Illuminate\Http\Request; Route::get('/hello', function (Request $request) { $path = $request->path(); echo $path; // 输出: /hello });
クエリ パラメーターを含む完全なリクエスト URL を取得する場合は、Request クラスの fullUrl() メソッドを使用できます。サンプル コードは次のとおりです。
use Illuminate\Http\Request; Route::get('/hello', function (Request $request) { $url = $request->fullUrl(); echo $url; // 输出: http://example.com/hello?name=world });
上記のメソッドに加えて、Request クラスは、is()、method()、input() など、他の多くの便利なメソッドも提供します。詳細については、Laravel のドキュメントを参照してください。
2. Illuminate\Routing\Route クラスを使用する
Laravel では、Route クラスはルートを表し、ルートの URL、リクエスト メソッド、ハンドラーなどの情報が含まれます。現在のリクエストのルートを取得するには、Route クラスの current() メソッドを使用できます。このメソッドは現在のリクエストのルーティング オブジェクトを返します。そこからリクエストのパス、URL、その他の情報を取得できます。サンプルコードは次のとおりです:
use Illuminate\Routing\Route; Route::get('/hello', function () { $route = Route::current(); $path = $route->getPath(); // 获取请求路径 $url = $route->getUri(); // 获取请求URL echo $path; // 输出: /hello echo $url; // 输出: /hello });
3. url() 補助関数を使用する
Laravel は、URL を生成するための url() 補助関数を提供します。パラメータが渡されない場合は、現在要求されている URL が返されます。サンプル コードは次のとおりです。
Route::get('/hello', function () { $url = url(); echo $url; // 输出: http://example.com/hello });
現在のリクエストのパスを取得したい場合は、parse_url() 関数を使用できます。サンプルコードは次のとおりです:
Route::get('/hello', function () { $url = url(); $path = parse_url($url, PHP_URL_PATH); echo $path; // 输出: /hello });
4. 概要
この記事では、Illuminate\Http\Request クラス、Illuminate\Routing\ の使用など、Laravel でリクエスト パスを取得するためのさまざまな方法を紹介します。 Route クラスと url () ヘルパー関数。これらの方法にはそれぞれ長所と短所があるため、開発者は実際のニーズに基づいて適切な方法を選択する必要があります。まだLaravelを使ったことがない方は、この記事がLaravelの理解の一助になれば幸いです。すでに Laravel を使用している場合は、この記事が Laravel の使用にさらに習熟するのに役立つと思います。
以上がlaravelがリクエストパスを取得するための複数のメソッドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。