概要
コントローラーのアクションでの処理の後、return
で指定するview()
とredirect()
の違い。
view()
view()
はブレードテンプレートとそれに渡す変数・値を指定して、テンプレートの内容を表示(レンダリング)させる。
1 |
return view('ブレードテンプレート名', ['変数名' => 変数の内容, ...]); |
テンプレート名は、resources/views/
以下のディレクトリー、ファイルを'.'
で繋ぎ、テンプレート名の'.blade.php'
は書かない。
たとえばテンプレートファイルのパスが
resources/views/products/index.blade.php
のとき、view()
では以下のように指定する。
1 |
view('products.index'); |
redirect()
リダイレクトはURLかルート名を指定して、コントローラーの処理とその後のレンダリングを実行させる。
1 2 3 4 5 |
// ドメイン名以下のURLを指定する場合 return redirect('URLパス'); // ルーティングで設定されたルート名を指定する場合 return redirect()->route('ルート名'); |
たとえば以下のようなルーティング設定の場合。
1 2 3 4 5 6 7 |
+--------+-----------+----------+----------------+----------------------------------------------+------------+ | Domain | Method | URI | Name | Action | Middleware | +--------+-----------+----------+----------------+----------------------------------------------+------------+ ........ | | GET|HEAD | products | products.index | App\Http\Controllers\ProductController@index | web | ........ +--------+-----------+----------+----------------+----------------------------------------------+------------+ |
リダイレクトは以下のように指定する。
1 2 3 4 5 |
// ドメイン名以下のURLを指定する場合 return redirect('/index'); // ルーティングで設定されたルート名を指定する場合 return redirect()->route('products.index'); |