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

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

Параметр locale атрибута Route позволяет привязать маршрут к определённой локали. Если локаль запроса не совпадает с указанной в параметре, маршрут не будет сопоставлен. Это удобно для создания мультиязычных сайтов, где каждый URL привязан к своему языку.

Синтаксис

#[Route(path, name: name, locale: locale)]

Пример

Давайте создадим маршрут, доступный только для русской локали 'ru':

<?php namespace AppController; use SymfonyBundleFrameworkBundleControllerAbstractController; use SymfonyComponentHttpFoundationResponse; use SymfonyComponentRoutingAttributeRoute; class ArticleController extends AbstractController { #[Route('/article', name: 'article_index', locale: 'ru')] public function index(): Response { return new Response('hello'); } } ?>

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

"hello"

Если локаль запроса будет 'en', маршрут не сопоставится и Symfony вернёт ошибку 404.

Пример

Давайте создадим два маршрута с одинаковым путём, но разными локалями:

<?php namespace AppController; use SymfonyBundleFrameworkBundleControllerAbstractController; use SymfonyComponentHttpFoundationResponse; use SymfonyComponentRoutingAttributeRoute; class ArticleController extends AbstractController { #[Route('/article', name: 'article_ru', locale: 'ru')] public function indexRu(): Response { return new Response('article'); } #[Route('/article', name: 'article_en', locale: 'en')] public function indexEn(): Response { return new Response('user'); } } ?>

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

"article"

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

"user"

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

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