Применение параметров маршрутов в Laravel

Рассмотрим некоторое практическое применение параметров маршрутов. Давайте в зависимости от значения параметра будем отдавать различный текст.

Пусть у нашего маршрута есть параметр:

<?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', ]; ?>

Создайте маршрут, который параметром будет принимать имя юзера, а в браузером результатом отправлять его город.

Сделайте так, чтобы, если параметром передано несуществующее имя, в браузер выводилось сообщение об этом.