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

Метод getLocale класса Request

Метод getLocale класса Request возвращает текущую локаль, которая установлена для данного запроса. Локаль представляет собой строку, например, 'en', 'ru' или 'fr_FR', и используется для определения языка отображения контента и форматирования данных. Метод не принимает параметров и возвращает строку. Если локаль не была установлена явно, Symfony возвращает локаль по умолчанию, заданную в конфигурации фреймворка.

Синтаксис

public function getLocale(): string

Пример

Давайте получим локаль текущего запроса в контроллере и вернём её в ответе:

<?php namespace App\Controller; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Routing\Attribute\Route; class ArticleController extends AbstractController { #[Route('/article/locale', name: 'article_locale')] public function locale(Request $request): Response { $locale = $request->getLocale(); return new Response($locale); } } ?>

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

"en"

Пример

Давайте установим локаль вручную с помощью метода setLocale, а затем получим её через getLocale:

<?php namespace App\Controller; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Routing\Attribute\Route; class ArticleController extends AbstractController { #[Route('/article/set-locale', name: 'article_set_locale')] public function setLocale(Request $request): Response { $request->setLocale('ru'); $locale = $request->getLocale(); return new Response($locale); } } ?>

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

"ru"

Пример

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

<?php namespace App\Controller; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Routing\Attribute\Route; class ArticleController extends AbstractController { #[Route('/article/greeting', name: 'article_greeting')] public function greeting(Request $request): Response { $locale = $request->getLocale(); if ($locale === 'ru') { $message = 'Привет'; } else { $message = 'Hello'; } return new Response($message); } } ?>

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

"Привет"

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

  • метод setLocale,
    который устанавливает локаль для запроса
  • класс Request,
    который представляет HTTP-запрос
  • метод get,
    который возвращает параметр из запроса
  • метод getClientIp,
    который возвращает IP-адрес клиента
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить