ルーティングのグループ化・管理テクニック(Laravel)

似たようなルートの記述設定が多い時は、グループ化したほうがシンプルで管理しやすい

例えば、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.】をつけることも可能

ex. ルート名(admin.xxx)にしたい場合、【admin.】をプレフィックスとして共通化できる