Група задає спільні налаштування для кількох маршрутів, щоб не повторювати їх у кожному.
Route::middleware(['auth', 'verified'])
->prefix('dashboard')
->name('dashboard.')
->controller(InvoiceController::class)
->group(function () {
Route::get('/invoices', 'index')->name('invoices.index'); // /dashboard/invoices
Route::get('/invoices/{invoice}', 'show')->name('invoices.show');
});
Що можна спільно задати:
middleware()- автентифікація, верифікація, обмеження частоти;prefix()- префікс URI;name()- префікс імен маршрутів (крапку в кінці пишуть самі);controller()- спільний контролер, тоді в маршруті лише назва методу;domain()- піддомен, зокрема з параметром:{account}.example.com;scopeBindings()- вкладені моделі шукаються через батьківську.
Вкладені групи об'єднують налаштування: middleware додаються, префікси й імена склеюються.
На практиці групи - головний спосіб не забути auth для нового маршруту: він просто потрапляє в захищену групу.