О web-разработке
и даже немного больше...

Необязательные параметры маршрутов в Laravel

Ранее на нашем сайте уже были материалы посвященные использованию роутов в Laravel. В той статье описывались примеры демонстрирующие создание маршрутов, а так же использование их при выводе в шаблонах. В качестве примеров использовались обязательные параметры для маршрутов. Однако был упущен момент, когда параметр может быть не обязательным.
Давайте рассмотрим пример как объявить параметр в маршруте, чтобы он был не обязательным. Для этого возьмём простой маршрут:

Route::get('/posts/page/{page}', function ($page) {
	return 'страница - ' . $page;
});

Тут мы передаём параметр page – это номер страницы, и если мы его упустим, то Laravel в этом случае выдаст ошибку.

Давайте для этого же пути сделаем параметр page необязательным. Для этого добавляем символ «?» после самого параметра. Кроме того, чтобы Laravel не выдавал ошибку в этом примере, зададим значение по умолчанию для переменной $page = 1.

Route::get('/posts/page/{page?}', function ($page=1) {
	return 'страница - ' . $page;
});

Так же можно совместно использовать в маршрутах обязательные и не обязательные параметры.

Route::get('/list/{section_code}/{page?}', function ($section_code, $page=1) {
	return 'Код раздела: '.$section_code.', страница - ' . $page;
});

В этом примере section_code является обязательным параметром, а page – может по необходимости, но не является обязательным.

Опубликован: 08.10.2024 г.

См. также:

Ограничение параметров в маршрутах Laravel
Как выбрать записи за определённый период (День, Месяц, Год) в Laravel?
Использование метода leftJoin() для выборки из нескольких таблиц в Laravel
Как просмотреть SQL запрос в Eloquent Laravel?
Как объявить переменную в шаблоне Laravel Blade?
Проверка на пустоту коллекций Eloquent в Laravel
Как получить URL текущей страницы в Laravel?
Как вывести роуты Laravel в отдельный файл?

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Комментарии
  • Загрузка...
Друзья сайта