РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
121 of 1361 menu

Параметр path атрибута Route

Параметр path атрибута Route задаёт путь URL, по которому будет доступен метод контроллера. Это первый параметр атрибута, поэтому его можно передавать без имени. Путь может быть статическим, например '/article', или содержать динамические сегменты в фигурных скобках, например '/user/{name}'. Значения динамических сегментов попадают в аргументы метода контроллера.

Если параметр path не указан, Symfony использует пустую строку и маршрут срабатывает на корневой адрес.

Синтаксис

#[Route(path, name: name)]

Пример

Давайте повесим метод контроллера на статический адрес '/article':

<?php namespace App\Controller; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Routing\Attribute\Route; class ArticleController extends AbstractController { #[Route('/article', name: 'article_index')] public function index(): Response { return new Response('hello'); } } ?>

Результат выполнения кода для адреса /article:

hello

Пример

Давайте передадим динамический сегмент name из пути в аргумент метода:

<?php namespace App\Controller; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Routing\Attribute\Route; class ArticleController extends AbstractController { #[Route('/user/{name}', name: 'article_user')] public function user(string $name): Response { return new Response($name); } } ?>

Результат выполнения кода для адреса /user/abcde:

abcde

Пример

Давайте зададим значение сегмента по умолчанию через параметр defaults, чтобы адрес работал и без сегмента в пути:

<?php namespace App\Controller; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Routing\Attribute\Route; class ArticleController extends AbstractController { #[Route('/user/{name}', name: 'article_user', defaults: ['name' => 'guest'])] public function user(string $name): Response { return new Response($name); } } ?>

Результат выполнения кода для адреса /user:

guest

Смотрите также

  • атрибут Route,
    который вешает метод контроллера на URL
  • параметр name,
    который задаёт имя маршрута
  • параметр requirements,
    который задаёт требования к сегментам пути
  • параметр defaults,
    который задаёт значения сегментов по умолчанию
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить