Получение транслятора внутри контроллера без установки его в качестве параметра из веб-службы
Я столкнулся с проблемой при переносе приложения с Symfony2.1 на Symfony6 изнутри контроллера, я делал это в symfony2:
$this->get('translator')->trans('text to translate');
Теперь из документации symfony6 я могу прочитать, что для использования переводчика мне нужно
- Объявите использование TranslatorInterface в верхней части моего контроллера.
- Иметь экземпляр TranslatorInferface в качестве параметра веб-сервиса.
- вызвать метод trans из экземпляра TranslatorInterface
Извините, если мой вопрос глупый, но есть ли способ избежать всего этого процесса? Есть ли способ «получить» переводчика, как раньше? Или я должен добавить TranslatorInterface в качестве параметра всех веб-сервисов, которые я использую?
В качестве дополнения к информации, у меня такая же проблема с сеансом, в моем приложении symfony 2.1 я делал:
$this->get('session')
Теперь мне нужно получить сеанс из запроса, а затем получить сеанс из запроса. Это означает, что, например, мне нужно передать параметр сеанса в любую приватную функцию, которая должна будет что-то проверить внутри сеанса.
Заранее спасибо и извините, если я упустил что-то очевидное здесь!