Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗pplrPmCnAP 30 of 252 menu
◀ ▶

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

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

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить