似たようなルートの記述設定が多い時は、グループ化したほうがシンプルで管理しやすい
例えば、LaravelBreeze(認証用ライブラリ)を入れた際、以下のルーティング設定が追記されていた
Route::middleware('auth')->group(function () { Route::get('/profile', [ProfileController::class, 'edit'])->name('profile.edit'); Route::patch('/profile', [ProfileController::class, 'update'])->name('profile.update'); Route::delete('/profile', [ProfileController::class, 'destroy'])->name('profile.destroy'); });
- おおまかに、以下の手順で構成されている
- ①グループで共通化したいオプションを指定(prefix / middleware / controller / name)
- ②groupメソッドの中に、関数を作る
- ③関数内で、ルーティング設定をまとめて管理
コントローラーやミドルウェアが共通の時も、グループ化できる
例えば、同じコントローラーを最初に一度だけ指定し、その中では、毎度コントローラーの指定をしなくて済む
ミドルウェアも同様
ルートURIやルート名でプレフィックスを使えて、共通化もできる
prefixメソッドを使用して、グループ内の各ルートに特定のURIやルート名を、プレフィックスとしてつけることができる
例えば、グループ内の全てのルートURIの前に、【admin】をつけることが可能
同じように、グループ内の全てのルート名に【admin.】をつけることも可能