Параметры маршрутов в контроллерах Laravel
Давайте теперь добавим к нашему маршруту параметр:
<?php
Route::get('/post/{id}', [PostController::class, 'show']);
?>
Переданный параметр будет попадать в параметр метода нашего действия:
<?php
namespace App\Http\Controllers;
class PostController extends Controller
{
public function show($id)
{
return 'post ' . $id;
}
}
?>
Несколько параметров маршрута попадают в несколько параметров метода:
<?php
Route::get('/user/{surname}/{name}', [UserController::class, 'show']);
?>
<?php
namespace App\Http\Controllers;
class UserController extends Controller
{
public function show($surname, $name)
{
return $surname . ' ' . $name;
}
}
?>
На параметры маршрута по-прежнему можно накладывать ограничения:
<?php
Route::get('/post/{id}', [PostController::class, 'show'])
->whereNumber('id');
?>
Сделайте маршрут, обрабатывающий адреса
вида /user/:name. Пусть действие
контроллера выводит имя из параметра.
Сделайте маршрут, обрабатывающий адреса
вида /user/:surname/:name.
Пусть действие выводит фамилию и имя.
Сделайте маршрут вида /city/:name
и действие контроллера, которое выводит
название города.
Сделайте маршрут вида /post/:id
с ограничением whereNumber.
Пусть действие выводит номер поста.