Laravel-リダイレクト

名前付きルートは、ルートに特定の名前を付けるために使用されます。名前は、を使用して割り当てることができます“as” 配列キー。

Route::get('user/profile', ['as' => 'profile', function () {
   //
}]);

Note −ここに名前を付けました profile ルートへ user/profile

名前付きルートへのリダイレクト

名前付きルートへのリダイレクトについて詳しく理解するには、次の例を参照してください。

Step 1 − test.phpというビューを作成し、次の場所に保存します。

resources/views/test.php

<html>
   <body>
      <h1>Example of Redirecting to Named Routes</h1>
   </body>
</html>

Step 2 −で routes.php、ルートを設定しました test.phpファイル。名前を変更しましたtesting。別のルートも設定しましたredirect 指定されたルートにリクエストをリダイレクトします testing

app/Http/routes.php

Route::get('/test', ['as'=>'testing',function() {
   return view('test2');
}]);

Route::get('redirect',function() {
   return redirect()->route('testing');
});

Step 3 −次のURLにアクセスして、名前付きルートの例をテストします。

http://localhost:8000/redirect

Step 4 −上記のURLの実行後、指定されたルートにリダイレクトするため、http:// localhost:8000 / testにリダイレクトされます。 testing

Step 5 − URLが正常に実行されると、次の出力が表示されます−

コントローラアクションへのリダイレクト

名前付きルートだけでなく、コントローラーアクションにリダイレクトすることもできます。コントローラと名前を渡すだけです。action次の例に示すように、アクションメソッドに変換します。パラメータを渡したい場合は、actionメソッドの2番目の引数として渡すことができます。

return redirect()->action(‘NameOfController@methodName’,[parameters]);

Step 1 −次のコマンドを実行して、というコントローラーを作成します。 RedirectController

php artisan make:controller RedirectController --plain

Step 2 −正常に実行されると、次の出力が表示されます−

Step 3 −次のコードをファイルにコピーします

app/Http/Controllers/RedirectController.php

app/Http/Controllers/RedirectController.php

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;

class RedirectController extends Controller {
   public function index() {
      echo "Redirecting to controller's action.";
   }
}

Step 4 −次の行をに追加します app/Http/routes.php

app/Http/routes.php

Route::get('rr','RedirectController@index');
Route::get('/redirectcontroller',function() {
   return redirect()->action('RedirectController@index');
});

Step 5 −次のURLにアクセスして、例をテストしてください。

http://localhost:8000/redirectcontroller

Step 6 −次の図に示すように出力が表示されます。