deprecated
Twig generates a deprecation notice (via a call to the trigger_error()
PHP function) where the deprecated
tag is used in a template:
1 2 3
{# base.html.twig #}
{% deprecated 'The "base.html.twig" template is deprecated, use "layout.html.twig" instead.' %}
{% extends 'layout.html.twig' %}
You can also deprecate a macro in the following way:
1 2 3 4 5
{% macro welcome(name) %}
{% deprecated 'The "welcome" macro is deprecated, use "hello" instead.' %}
...
{% endmacro %}
Note that by default, the deprecation notices are silenced and never displayed nor logged. See Recipes to learn how to handle them.
3.11
The package
and version
options were added in Twig 3.11.
You can optionally add the package and the version that introduced the deprecation:
1 2
{% deprecated 'The "base.html.twig" template is deprecated, use "layout.html.twig" instead.' package='twig/twig' %}
{% deprecated 'The "base.html.twig" template is deprecated, use "layout.html.twig" instead.' package='twig/twig' version='3.11' %}
Note
Don't use the deprecated
tag to deprecate a block
as the
deprecation cannot always be triggered correctly.