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

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

Параметр defaults атрибута Route задаёт значения по умолчанию для параметров URL. Он принимает ассоциативный массив, где ключи - имена параметров маршрута, а значения - то, что будет подставлено, если в адресе параметр отсутствует.

Синтаксис

#[Route(path, name: name, defaults: ['param' => value])]

Пример

Давайте зададим значение по умолчанию для параметра name. Если перейти на адрес /user без имени, подставится строка 'guest':

<?php namespace AppController; use SymfonyBundleFrameworkBundleControllerAbstractController; use SymfonyComponentHttpFoundationResponse; use SymfonyComponentRoutingAttributeRoute; 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

Пример

Давайте зададим значения по умолчанию сразу для нескольких параметров category и page:

<?php namespace AppController; use SymfonyBundleFrameworkBundleControllerAbstractController; use SymfonyComponentHttpFoundationResponse; use SymfonyComponentRoutingAttributeRoute; class ArticleController extends AbstractController { #[Route('/list/{category}/{page}', name: 'article_list', defaults: ['category' => 'all', 'page' => 1])] public function list(string $category, int $page): Response { return new Response($category . ' ' . $page); } } ?>

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

all 1

Пример

Параметр defaults можно использовать вместе с requirements, чтобы ограничить значения параметра, когда он передан явно:

<?php namespace AppController; use SymfonyBundleFrameworkBundleControllerAbstractController; use SymfonyComponentHttpFoundationResponse; use SymfonyComponentRoutingAttributeRoute; use SymfonyComponentRoutingRequirementRequirement; class ArticleController extends AbstractController { #[Route('/article/{id}', name: 'article_show', defaults: ['id' => 1], requirements: ['id' => Requirement::DIGITS])] public function show(int $id): Response { return new Response((string) $id); } } ?>

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

"1"

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

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