Рассмотрим некоторое практическое применение параметров маршрутов. Давайте в зависимости от значения параметра будем отдавать различный текст.
Пусть у нашего маршрута есть параметр:
<?php
Route::get('/post/{id}', [PostController::class, 'show']);
?>
Пусть также в действии контроллера хранится массив, в котором ключами будут значения параметра, а значениями - соответствующие тексты:
<?php
class PostController extends Controller
{
public function show()
{
$posts = [
1 => 'текст 1',
2 => 'текст 2',
3 => 'текст 3',
4 => 'текст 4',
5 => 'текст 5',
];
}
}
?>
Давайте отдадим в браузер текст, соответствующий значению параметра:
<?php
class PostController extends Controller
{
public function show($id)
{
$posts = [
1 => 'текст 1',
2 => 'текст 2',
3 => 'текст 3',
4 => 'текст 4',
5 => 'текст 5',
];
return $posts[$id];
}
}
?>
Практические задачи
Пусть есть массив с именами юзеров и их городами:
<?php
$users = [
'user1' => 'city1',
'user2' => 'city2',
'user3' => 'city3',
'user4' => 'city4',
'user5' => 'city5',
];
?>
Создайте маршрут, который параметром будет принимать имя юзера, а в браузером результатом отправлять его город.
Сделайте так, чтобы, если параметром передано несуществующее имя, в браузер выводилось сообщение об этом.