Новое в Twig: Deprecated тег

Устаревание является ключом к обещанию обратной совместимости и обеспечивает плавный процесс обновления приложений Symfony. Тем не менее, вы можете запускать только устаревшие версии в коде PHP, поэтому вы не можете предупреждать пользователей о том, что некоторые шаблоны или блоки Twig будут объявлены устаревшими.

Вот почему в Twig 1.36 и 2.6 добавили новый тег {% deprecated %}. Во-первых, это позволяет отказаться от целых шаблонов, что используется в следующем примере, чтобы предупредить пользователей о том, что base.twig будет заменен layout.twig:

{# base.twig #}
{% deprecated 'The "base.twig" template is deprecated, use "layout.twig" instead.' %}
{% extends 'layout.twig' %}

В дополнение к целым шаблонам, вы также можете отказаться от отдельных блоков:

{% block user_menu %}
    {% deprecated 'The "user_menu" block is deprecated, use "user_menu_actions" instead.' %}
    {{ block('user_menu_actions') }}
{% endblock %}

{% block user_menu_actions %}
    {# ... #}
{% endblock %}

Всякий раз, когда Twig находит тег {% deprecated%}, он генерирует уведомление об устаревании (через вызов PHP-функции trigger_error()), чтобы вы могли увидеть эти устаревшие элементы вместе с другими обычными устаревшими версиями Symfony.