Voici mon service.yml:auditeur Symfony commencer après extensions Twig lors du premier lancement
services:
foo.builder:
class: MyBundle\Core\MyClass
foo.twig_extension:
class: MyBundle\Twig\BarExtension
arguments: ['@foo.builder']
tags:
- { name: twig.extension }
foo.listener.foolistener:
class: MyBundle\EventListener\MyListener
arguments: ['@service_container']
tags:
- { name: kernel.event_listener, event: kernel.controller, method: createFooObject }
Mon auditeur commence toujours avant mes extensions de brindille et il est bon, mais pas juste après le cache ... clair Mon L'application plante toujours la première fois (après avoir effacé le cache ou changé les paramètres) parce que mon extension de twig doit avoir un objet déjà hydraté par l'auditeur. Donc, si ça commence avant, planter normalement :(
1/Quel est le problème?
2/comment puis-je forcer mon auditeur à toujours commencer avant l'extension de brindille?
Toutes les suggestions seront les bienvenus
Vous ne pouvez pas. Les extensions Twig seront toujours créées avant l'appel des auditeurs. Ce que vous devez faire est d'obtenir votre objet lorsque le filtre de brindille ou la fonction est appelée. – Cerad
Mais ... Juste la première fois après avoir effacé le cache ??? – rudak
Vous interprétez mal votre conclusion sur la suppression du cache. Je suppose que les résultats de MyListener :: createFooObject finit dans votre extension? Peut-être poster un peu plus de code et peut-être que nous pouvons voir exactement ce qui se passe. – Cerad