La nueva etiqueta "deprecated" de Twig
La base de la política de retrocompatibilidad de Symfony son las funcionalidades "deprecadas", que aseguran una actualización continua entre versiones menores de Symfony. El problema es que solo puedes "deprecar" funcionalidades usando PHP, así que no puedes por ejemplo avisar a los usuarios cuando una plantilla de Twig o un bloque de una plantilla van a desaparecer en el futuro.
Así que en Twig 1.36 y 2.6 hemos añadido una nueva etiqueta llamada
{% deprecated %}
. En primer lugar, puedes utilizarla para "deprecar"
plantillas enteras, como en el siguiente ejemplo en el que la plantilla
base.twig
anuncia que en el futuro será reemplazada por layout.twig
:
{# base.twig #} {% deprecated 'La plantilla "base.twig" está deprecada; usa "layout.twig" en su lugar.' %} {% extends 'layout.twig' %}
Esta nueva etiqueta también te sirve para "deprecar" bloques y macros específicas dentro de las plantillas:
{% block user_menu %} {% deprecated 'El bloque "user_menu" está deprecado; usa "user_menu_actions" en su lugar.' %} {{ block('user_menu_actions') }} {% endblock %} {% block user_menu_actions %} {# ... #} {% endblock %}
Cuando Twig encuentra una etiqueta {% deprecated %}
, realiza una llamada a la
función trigger_error()
de PHP y eso genera el mensaje que ves en los logs de
la aplicación avisando sobre la funcionalidad "deprecada".
Esta funcionalidad fue contribuida por Yonel Ceruto, uno de los contribuidores más destacados de la comunidad hispana, en el pull request #2696.
Fuente: New in Twig: Deprecated tag
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.