Публикации - Laravel

Маршрутизация

Вывести список маршрутов на экран:

php artisan route:list
Обновить маршрутизатор и кэш можно одной командой
php artisan optimize

Маршрут для запросов get с параметром выглядит так:

Route::get('/user/{id}', function (string $id) {
    return 'User '.$id;
});

Символ ? делает значение параметра не обязательным.

Route::get('/user/{name?}', function (string $name = 'John') {
    return $name;
});

Фильтры маршрутов

Route::get('/user/{name}', function (string $name) {
    // ...
})->where('name', '[A-Za-z]+');
 
Route::get('/user/{id}', function (string $id) {
    // ...
})->where('id', '[0-9]+');
 
Route::get('/user/{id}/{name}', function (string $id, string $name) {
    // ...
})->where(['id' => '[0-9]+', 'name' => '[a-z]+']);

Именные маршруты:

Route::get('/user/profile', function () {
    // ...
})->name('profile');

Подключение middleware к маршрутам осуществляется внутри group:

Route::middleware(['auth:sanctum','admin'])->group(function () {
    Route::post('logout', [Controllers\AuthController::class, 'logout']);
    Route::get('profile', [Controllers\AuthController::class, 'profile']);
});

Group также можно использовать для группировки маршрутов одного контроллера

Подключение namespace контроллеров в файл маршрутизатора:

use App\Http\Controllers;

Тогда при подлкючении контроллера можно воспользоваться относительным путём:

Route::controller(Controllers\OrderController::class)->group(function () {
    Route::get('/orders/{id}', 'show');
    Route::post('/orders', 'store');
});

Количество комментариев: 0

Для того, чтобы оставить коментарий необходимо зарегистрироваться