Получение транслятора внутри контроллера без установки его в качестве параметра из веб-службы

Я столкнулся с проблемой при переносе приложения с Symfony2.1 на Symfony6 изнутри контроллера, я делал это в symfony2:

       $this->get('translator')->trans('text to translate');

Теперь из документации symfony6 я могу прочитать, что для использования переводчика мне нужно

  • Объявите использование TranslatorInterface в верхней части моего контроллера.
  • Иметь экземпляр TranslatorInferface в качестве параметра веб-сервиса.
  • вызвать метод trans из экземпляра TranslatorInterface

Документация здесь

Извините, если мой вопрос глупый, но есть ли способ избежать всего этого процесса? Есть ли способ «получить» переводчика, как раньше? Или я должен добавить TranslatorInterface в качестве параметра всех веб-сервисов, которые я использую?

В качестве дополнения к информации, у меня такая же проблема с сеансом, в моем приложении symfony 2.1 я делал:

      $this->get('session')

Теперь мне нужно получить сеанс из запроса, а затем получить сеанс из запроса. Это означает, что, например, мне нужно передать параметр сеанса в любую приватную функцию, которая должна будет что-то проверить внутри сеанса.

Заранее спасибо и извините, если я упустил что-то очевидное здесь!

0 ответов

Другие вопросы по тегам