Несколько параметров маршрутов в Laravel
В предыдущем уроке мы разобрали один
параметр маршрута. На практике адрес
страницы часто состоит из нескольких
динамических частей. Например, в адресе
/post/3/15 первое число может
означать категорию, а второе - номер
поста внутри неё.
Laravel позволяет описать такой адрес одним маршрутом. Для каждой изменяемой части URI задают свой параметр в фигурных скобках. Значения из URL попадут в соответствующие аргументы функции-обработчика.
Смотрите пример:
<?php
Route::get('/post/{catId}/{postId}', function ($catId, $postId) {
return $catId . ' ' . $postId;
});
?>
Сделайте маршрут, обрабатывающий адреса
вида /user/:surname/:name,
где параметры задают имя и фамилию
юзера. Пусть в браузер выводятся
оба значения.
Сделайте маршрут вида
/city/:country/:name.
Пусть в браузер выводятся страна
и город.
Сделайте маршрут вида
/post/:id/comment/:num.
Пусть выводятся номер поста и
номер комментария.
Замечание
В функцию-обработчик параметры попадают в порядке следования. Это значит, что имена параметров и переменных не обязательно должны совпадать. Но лучше, конечно же, задавать одинаковые имена параметров и соответствующих переменных, чтобы не было путаницы.