Laravel は、多くの便利な機能とメソッドを提供する人気の PHP フレームワークで、開発者は効率的で保守可能なアプリケーションを迅速に開発できます。 Laravel では、ルーティングは開発者がアプリケーションの URL を定義できるようにする非常に重要な概念です。
Laravel では、ユーザーのログイン後に別のページにジャンプしたり、フォームが送信された後に別のページにジャンプしたりするなど、ジャンプ ルーティングは非常に一般的な要件です。この記事ではLaravelのジャンプルートとその使い方を紹介します。
1. 名前付きルートにジャンプします
Laravel では、名前付きルート (Named Route) はルートを定義する非常に便利な方法です。ルートの名前を定義すると、コード内でこの名前を使用して URL を生成したり、このルートにジャンプしたりできます。以下は例です:
Route::get('user/profile', function () { // })->name('profile');
ここでは、「profile」という名前のルートを定義します。このルートにジャンプする必要がある場合は、次のコードを使用できます:
return redirect()->route('profile');
このメソッドは、ルート名をパラメーターとして指定し、そのルートにリダイレクトする応答を返します。パラメーターをルートに渡したい場合は、2 番目のパラメーターで渡すことができます。例:
return redirect()->route('profile', ['id' => 1]);
ここでは、「id」という名前のパラメーターをルートに渡しており、その値は 1 です。次に、ターゲット ルートで、次のようなコードを使用してこのパラメータを取得できます。
Route::get('user/{id}', function ($id) { // })->name('profile');
ここでは、$id 変数を使用して、渡されたパラメータにアクセスできます。
2. コントローラー メソッドにジャンプする
Laravel では、ルートのハンドラーとしてコントローラー メソッドを定義し、このコントローラー メソッドにジャンプすることもできます。以下に例を示します。
Route::get('user/profile', 'UserController@showProfile');
ここでは、「showProfile」という名前のコントローラー メソッドをルートのハンドラーとして定義します。このコントローラー メソッドにジャンプする必要がある場合は、次のコードを使用できます。
return redirect()->action('UserController@showProfile', ['id' => 1]);
このメソッドは、パラメーターとしてコントローラー メソッド名を受け取り、コントローラー メソッドにリダイレクトする応答を返します。コントローラー メソッドにパラメーターを渡したい場合は、次のように 2 番目のパラメーターで渡すことができます。
return redirect()->action('UserController@showProfile', ['id' => 1]);
ここでは、「id」という名前のパラメーターをコントローラー メソッドに渡しています。値は 1 です。次に、ターゲット コントローラー メソッドで、次のようなコードを使用してこのパラメーターを取得できます。
public function showProfile($id) { // }
ここでは、$id 変数を使用して、渡されたパラメーターにアクセスできます。
3. URL にジャンプ
Laravel では、ルートやコントローラー メソッドを定義せずに、任意の URL に直接ジャンプすることもできます。以下に例を示します。
return redirect('user/profile');
ここでは、ターゲット URL をリダイレクト関数に直接渡し、その URL にリダイレクトされた応答を返すことができます。
パラメータを渡す必要がある場合は、URL でクエリ文字列 (クエリ文字列) パラメータを使用できます。例:
return redirect('user/profile?id=1');
ここでは、「id」という名前のクエリ文字を使用します。ターゲット URL に渡される文字列パラメータの値は 1 です。次に、ターゲット ページで、次のようなコードを使用してこのパラメータを取得できます。
$id = request('id');
ここでは、request() ヘルパー関数を使用して、リクエスト内のクエリ文字列パラメータを取得します。
概要
この記事では、名前付きルートへのジャンプ、コントローラーメソッドへのジャンプ、URL へのジャンプなど、Laravel でのジャンプルーティングについて紹介しました。実際の開発では、これらのジャンプ ルートは非常に役立ち、目的のページに素早くジャンプでき、開発効率とユーザー エクスペリエンスを向上させることができます。
以上がLaravelジャンプルーティングの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。