Laravel – 名前付きルート

記述方法

ルーティングのname()メソッドで、ルートに名前を付けることができる。

Route::メソッド('URL', 'コントローラー@アクション')->name('ルート名');

この名前を使ってルーティングのURLを得るには、route()ヘルパーを使う。

route('ルート名')

URLにルートパラメーターを含む場合、route()でパラメーターの値を設定して、これを含むURLを得ることができる。

route('ルート名', ['パラメーター' => 値])

ルートパラメーターが複数ある場合は連想配列の要素として列挙。いずれのパラメーターも省略することはできない。

route('ルート名', ['パラメーター1' => 値1, 'パラメーター2' => 値2])

ルーティングで以下のように記述する。

コントローラーのnamed_route()アクションでビューを呼び出す。

ビューの中で、route()ヘルパーによってルーティングのURLを表示させる。

結果は以下のように表示される。

名前付きルート
http://localhost:3000/named_route
http://localhost:3000/named_route/100/set
http://localhost:3000/named_route/first/100/second/200

 

メリット

たとえばアンカータグのURLにルートパラメーターを含む場合、文字列で結合するよりも可読性が高くなる。

URLを変更した場合でも、ルーティングファイルのみ書き換えればよい。

このほか、RESTに基づくリソースルーティングの場合は、自動的に名前が付けられる。

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です