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

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

Метод getLocale класса LocaleSwitcher возвращает текущую локаль, установленную в переключателе локали. Класс LocaleSwitcher предназначен для временного изменения локали приложения, например, для отправки письма на языке пользователя или для выполнения фоновой задачи с определённой локалью. Метод не принимает параметров и возвращает строку с кодом локали (например, 'en', 'ru', 'de'). Если локаль не была установлена явно, метод возвращает локаль по умолчанию, заданную в конфигурации фреймворка.

Синтаксис

public function getLocale(): string

Пример

Давайте создадим экземпляр LocaleSwitcher и получим текущую локаль:

<?php namespace AppController; use SymfonyBundleFrameworkBundleControllerAbstractController; use SymfonyComponentHttpFoundationResponse; use SymfonyComponentTranslationLocaleSwitcher; use SymfonyComponentRoutingAttributeRoute; class LocaleController extends AbstractController { #[Route('/locale', name: 'locale_show')] public function show(LocaleSwitcher $switcher): Response { $res = $switcher->getLocale(); return new Response($res); } } ?>

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

ru

Пример

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

<?php namespace AppController; use SymfonyBundleFrameworkBundleControllerAbstractController; use SymfonyComponentHttpFoundationResponse; use SymfonyComponentTranslationLocaleSwitcher; use SymfonyComponentRoutingAttributeRoute; class LocaleController extends AbstractController { #[Route('/locale/change', name: 'locale_change')] public function change(LocaleSwitcher $switcher): Response { $switcher->setLocale('en'); $res = $switcher->getLocale(); return new Response($res); } } ?>

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

en

Пример

Давайте используем getLocale внутри метода runWithLocale, чтобы проверить, какая локаль активна в момент выполнения замыкания:

<?php namespace AppController; use SymfonyBundleFrameworkBundleControllerAbstractController; use SymfonyComponentHttpFoundationResponse; use SymfonyComponentTranslationLocaleSwitcher; use SymfonyComponentRoutingAttributeRoute; class LocaleController extends AbstractController { #[Route('/locale/run', name: 'locale_run')] public function run(LocaleSwitcher $switcher): Response { $res = $switcher->runWithLocale('de', function () use ($switcher) { return $switcher->getLocale(); }); return new Response($res); } } ?>

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

de

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

  • класс LocaleSwitcher,
    который управляет локалью приложения
  • метод setLocale,
    который устанавливает локаль
  • метод runWithLocale,
    который выполняет код с указанной локалью
  • метод reset,
    который сбрасывает локаль к значению по умолчанию
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить