Nuevo en Symfony 4.1: Prioridad en las extensiones Twig
Twig permite sobrecargar filtros, funciones, variables globales, etc. de manera que tu aplicación pueda cambiar el comportamiento de cualquiera de ellos. La sobrecarga de estos elementos se realiza en una nueva extensión Twig que se debe registrar lo más tarde posible para que ya estén definidos los filtros/funciones que vas a cambiar.
Si utilizas Twig de manera aislada, es muy fácil controlar el orden en el que estás registrando las extensiones. Sin embargo, no sucede lo mismo si utilizas Twig dentro de una aplicación Symfony.
En Symfony 4.1, para permitir que puedas redefinir cualquier elemento de Twig,
hemos añadido soporte para definir prioridades en las extensiones Twig.
El funcionamiento es el mismo que en otras partes del framework: la prioridad se
define en el atributo priority
de la etiqueta del servicio asociado
(twig.extension
en este caso) y es un número entero positivo o negativo:
# config/services.yaml services: # ... App\Twig\AppExtension: public: false tags: # cuanto más grande sea el número, antes se registra - { name: twig.extension, priority: -1024 }
El único problema es que cuando se define la prioridad no puedes utilizar la
configuración automática de servicios y tienes que definir la extensión
Twig como un servicio de manera explícita (para que puedas añadir el atributo
priority
).
Esta funcionalidad fue contribuida por Matt Brunt en el pull request #24777.
Fuente: New in Symfony 4.1: Twig extensions priority
Comentarios
Proyectos Symfony destacados
La forma más sencilla de generar el backend de tus aplicaciones Symfony. Ver más
Síguenos en @symfony_es para acceder a las últimas noticias.