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

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

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

Класс LocaleSwitcher доступен через сервис translator и позволяет временно переключать локаль без влияния на глобальное состояние приложения. Метод reset удобен в ситуациях, когда нужно вернуть исходную локаль после выполнения блока кода.

Синтаксис

public function reset(): void

Пример

Давайте получим сервис LocaleSwitcher и переключим локаль с 'en' на 'fr', а затем сбросим её обратно:

<?php namespace App\Controller; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Routing\Attribute\Route; use Symfony\Contracts\Translation\LocaleSwitcherInterface; class ArticleController extends AbstractController { #[Route('/article', name: 'article_index')] public function index(LocaleSwitcherInterface $localeSwitcher): Response { $localeSwitcher->setLocale('en'); echo $localeSwitcher->getLocale(); $localeSwitcher->setLocale('fr'); echo $localeSwitcher->getLocale(); $localeSwitcher->reset(); echo $localeSwitcher->getLocale(); return new Response(); } } ?>

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

"enfr en"

Пример

Давайте переключим локаль внутри блока кода и сбросим её после завершения:

<?php namespace App\Controller; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Routing\Attribute\Route; use Symfony\Contracts\Translation\LocaleSwitcherInterface; class ArticleController extends AbstractController { #[Route('/user', name: 'article_user')] public function user(LocaleSwitcherInterface $localeSwitcher): Response { $localeSwitcher->setLocale('de'); echo $localeSwitcher->getLocale(); $localeSwitcher->reset(); echo $localeSwitcher->getLocale(); return new Response(); } } ?>

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

"deen"

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

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