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