Source: https://symfonycasts.com/screencast/symfony/services
Pour utiliser Twig ailleurs que dans un contrôleur (en fait, dans n'importe quelle classe perso…) c'est très simple.
Il suffit d'injecter Twig\Environment comme dépendance :
<?php namespace App\Service; use Twig\Environment; class MonService { private $twigEnvironment; public function __construct(Environment $twigEnvironment) { $this->twigEnvironment = $twigEnvironment; } public function doSomething(...) { // Appeler Twig pour générer le rendu d'un template $html = $this->twigEnvironment->render( 'email/newOrder.html.twig', [ nom => 'Rintintin' ] ); ... } }