Задать вопрос
@1alexandr

Как получить renderView в сервисе, который не наследуется от класса Controller?

У меня есть сервис, в котором мне нужно использовать renderView() класса Controller. Что мне нужно инжектить чтобы использовать этот метод в моем сервисе? желательно с примером, спасибо )
  • Вопрос задан
  • 847 просмотров
Подписаться 1 Оценить Комментировать
Решения вопроса 1
BoShurik
@BoShurik Куратор тега Symfony
Symfony developer
class SomeService
    /**
     * @var \Symfony\Bundle\FrameworkBundle\Templating\EngineInterface
     */
    private $templating;

    public function __construct(EngineInterface $templating)
    {
        $this->templating = $templating;
    }

    public function doSome()
    {
         $template = $this->templating->render('AppBundle::foo.html.twig', array(
             'foo' => 'bar'
         ));
    }

services:
    app.service.foo:
        class: %app.service.foo.class%
        arguments:
            - @templating
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
@shoomyst
dumb
Если необходимо такое, значит что-то не так в архитектуре приложения.
Если очень надо, контроллер делается сервисом и инжектится через DIC
Ответ написан
@1Michael1
я б остановился только на пером предложении Alex T.
> Если необходимо такое, значит что-то не так в архитектуре приложения.
Ответ написан
Комментировать
$this->container->get('templating')->render('...');
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы