この記事では、コントローラーからユーザーをあるページから別のページにリダイレクトする方法を紹介します。通常、コントローラーでユーザーをリダイレクトするには、 redirect() メソッドを使用します。
Laravel 5 バージョンでは redirect() が提供されており、Laravel 5.0、Laravel 5.1、Laravel 5.2、および Laravel 5.3 では単純に redirect() を使用できます。
以下では、Laravel でリダイレクトする 7 つの方法を紹介します。
1) URL にリダイレクトします
2) 前のページにリダイレクトします
3) 指定されたルートにリダイレクトします
4)パラメータを使用して指定されたルートにリダイレクト
##5) コントローラにリダイレクト##6) パラメータを使用してコントローラにリダイレクト
##7) セッション データを使用してリダイレクト1. リダイレクト URL
次の例では、単に「itsolutionstuff/tags」の URL をリダイレクトします。
Route:Route::get('itsolutionstuff/tags', 'HomeController@tags');Controller:
public function home() { return redirect('itsolutionstuff/tags'); }
2. 前のページにリダイレクトします
この例では、次のことができます。前のページの URL にリダイレクトするため、次の 2 つの方法を使用できます:
public function home() { return back(); } //或者 public function home2() { return redirect()->back(); }
3. 名前付きルートにリダイレクトします
コード例は次のとおりです。
Route:Route::get('itsolutionstuff/tags', array('as'=> 'itsolutionstuff.tags', 'uses' => 'HomeController@tags'));Controller:
public function home() { return redirect()->route('itsolutionstuff.tags'); }
4. パラメータを使用して名前付きルートにリダイレクトします
コード例は次のとおりです。 :
Route:Route::get('itsolutionstuff/tag/{id}', array('as'=> 'itsolutionstuff.tag', 'uses' => 'HomeController@tags'));Controller:
public function home() { return redirect()->route('itsolutionstuff.tag',['id'=>17]); }
5. コントローラーにリダイレクトします
コード例は次のとおりです。次のとおりです:
public function home() { return redirect()->action('App\Http\Controllers\HomeController@home'); }
6. パラメーターを使用してコントローラーにリダイレクトします
コード例は次のとおりです:
public function home() { return redirect()->action('App\Http\Controllers\HomeController@home',['id'=>17]); }
7. を使用してリダイレクトします。セッション データ
次に示すように、コントローラー メソッドでルートまたは URL を使用してリダイレクトするときに、フラッシュされたセッション メッセージを渡すこともできます。
public function home() { return redirect('home')->with('message', 'Welcome to PHP.cn!'); }関連するlaravelビデオチュートリアル: 「
最新のLaravel Mall実践ビデオチュートリアル
」この記事は、Laravel 5でredirect()を使用してURLをリダイレクトするさまざまな方法について説明しています。はじめに、困っている友達のお役に立てれば幸いです!
以上がLaravelの7つのリダイレクト方法を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。