ルートを定義しているroutes/web.php
の見栄えをよくするためにルートプレフィックスを利用するのはいかかでしょうか?
ルートにプレフィックス(接頭辞)を指定しよう
グループ内の全ルートのURIに特定の文字列を付け加えたいとき、prefix
メソッドを利用することで、グループ内の各ルートに対し、指定したURIのプレフィックスを付け加えることができます。
Route::prefix('admin')->group(function () {
Route::get('users', function () {
// Matches The "/admin/users" URL
});
});
上記例では、Route::prefix
メソッドにadmin
を指定することにより、グループ内の各ルートは、すべてURIにadmin
が付くようになります。
今回の例では、Route::prefix('admin')
のグループのなかに、Route::get
のURIusers
が定義されているので、このルートに適応するアドレスは/admin/users
ということになります。
ルート名にも、プレフィックスが付けられる
ルート名もプレフィックスを付けることができます。name
メソッドを使用することで、各ルートへ、指定の文字列をプレフィックスすることができます。
Route::name('admin.')->group(function () {
Route::get('users', function () {
// "admin.users"という名前へ結合したルート…
})->name('users');
});
上記例では、Rotue::name
メソッドにadmin
が指定されています。グループ内のルートにはname('users')
と定義されたルートがありますが、このルートはadmin.users
という名前へ結合されたルートになっていることに注意しましょう。
また、名前を付けたルートに対してURL生成したい、またはリダイレクトしたい場合は、route
関数を使用しましょう。指定した名前付きルートへリダイレクトしたい場合は、return redirect()->route('admin.users');
こんな感じでできちゃいます。