Применение параметров маршрутов в 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',
	];
?>

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

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



Чат с GPT Компилятор