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

Publicada el

3 de enero de 2019

Etiquetas

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.