РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
397 of 1392 menu

Метод group

Метод group применяется к классу Route и позволяет объединять несколько маршрутов в группу с общими параметрами. Первым параметром передаётся массив настроек группы (префикс, middleware, пространство имён контроллеров), вторым - замыкание или массив маршрутов.

Синтаксис

<?php Route::group($attributes, $callback); ?>

Пример

Создадим группу маршрутов с общим префиксом 'admin':

<?php use Illuminate\Support\Facades\Route; Route::group(['prefix' => 'admin'], function () { Route::get('/users', function () { return 'Users list'; }); Route::get('/settings', function () { return 'Settings page'; }); }); ?>

Результат выполнения кода для адреса /admin/users:

"Users list"

Пример

Создадим группу маршрутов с общим middleware и префиксом:

<?php use Illuminate\Support\Facades\Route; Route::group([ 'prefix' => 'api', 'middleware' => 'auth' ], function () { Route::get('/profile', function () { return 'User profile'; }); Route::post('/update', function () { return 'Profile updated'; }); }); ?>

Результат выполнения кода для авторизованного пользователя:

"User profile"

Пример

Используем группу для указания общего пространства имён контроллеров:

<?php use Illuminate\Support\Facades\Route; use App\Http\Controllers\Admin\DashboardController; use App\Http\Controllers\Admin\UserController; Route::group([ 'namespace' => 'App\Http\Controllers\Admin', 'prefix' => 'admin' ], function () { Route::get('/dashboard', [DashboardController::class, 'index']); Route::get('/users', [UserController::class, 'index']); }); ?>

Результат выполнения кода для адреса /admin/dashboard:

"Admin dashboard view"

Пример

Используем группу для назначения общих имён маршрутам:

<?php use Illuminate\Support\Facades\Route; Route::group(['prefix' => 'blog', 'as' => 'blog.'], function () { Route::get('/', function () { return 'Blog index'; })->name('index'); Route::get('/post/{id}', function ($id) { return "Post $id"; })->name('show'); }); ?>

Результат выполнения кода для адреса /blog/post/5:

"Post 5"

Пример

Вложенные группы маршрутов с разными атрибутами:

<?php use Illuminate\Support\Facades\Route; Route::group(['prefix' => 'api', 'middleware' => 'auth'], function () { Route::group(['prefix' => 'v1'], function () { Route::get('/users', function () { return 'API v1 users'; }); Route::group(['prefix' => 'admin'], function () { Route::get('/dashboard', function () { return 'API v1 admin dashboard'; }); }); }); }); ?>

Результат выполнения кода для адреса /api/v1/admin/dashboard:

"API v1 admin dashboard"

Смотрите также

  • метод prefix,
    который устанавливает префикс для группы маршрутов
  • метод middleware,
    который применяет middleware к группе маршрутов
  • метод name,
    который задаёт имя для отдельного маршрута
  • метод domain,
    который ограничивает группу маршрутов поддоменом
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить