Outils pour utilisateurs

Outils du site


symfony4:twig_injection_twig_dans_service

Injection de Twig dans un Service

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 :

MonService.php
<?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' ]
        );
 
        ...
    }
 
}
symfony4/twig_injection_twig_dans_service.txt · Dernière modification: 2020/04/07 12:36 par marclebrun