Skip to content

Injection de dépendances 💉 ​

si vous voulez plus de contrôle (comme créer des fonctions Twig personnalisées), vous pouvez utiliser l'injection de dépendance avec EntrypointRenderer / EntrypointsLookup.

php
use Twig\Extension\AbstractExtension;
use Pentatrion\ViteBundle\Service\EntrypointRenderer;
use Pentatrion\ViteBundle\Service\EntrypointsLookupCollection;
use Pentatrion\ViteBundle\Service\TagRendererCollection;

class YourTwigExtension extends AbstractExtension
{
    public function __contruct(
        private EntrypointRenderer $entrypointRenderer,

        // si vous voulez accéder aux services plus internes
        private EntrypointsLookupCollection $entrypointsLookupCollection,
        private TagRendererCollection $tagRendererCollection
    ) {
        $content = $this->entrypointRenderer->renderScripts(
          'app',  // entryName
          [],     // options
          null,   // nom de la config si vous en avez plusieurs.
          true    // toString (spécifiez false et vous aurez un tableau de Tag)
        );


        $entrypointsLookup = $this->entrypointsLookupCollection->getEntrypointsLookup();

        $viteServer = $entrypointsLookup->getViteServer();
        $jsFiles = $entrypointsLookup->getJSFiles('app');
        $cssFiles = $entrypointsLookup->getCSSFiles('app');
        // etc...
    }
}

Publié sous la licence MIT.