Twig

The flexible, fast, and secure
template engine for PHP

a Symfony Product
Docs Tests defined
You are reading the documentation for Twig 2.x. Switch to the documentation for Twig 1.x. 3.x.
Warning Twig version 2.x end of maintenance is scheduled for December 2023.

Questions & Feedback

License

Twig documentation is licensed under the new BSD license.

defined

defined checks if a variable is defined in the current context. This is very useful if you use the strict_variables option:

1
2
3
4
5
6
7
8
9
10
11
12
13
{# defined works with variable names #}
{% if foo is defined %}
    ...
{% endif %}

{# and attributes on variables names #}
{% if foo.bar is defined %}
    ...
{% endif %}

{% if foo['bar'] is defined %}
    ...
{% endif %}

When using the defined test on an expression that uses variables in some method calls, be sure that they are all defined first:

1
2
3
{% if var is defined and foo.method(var) is defined %}
    ...
{% endif %}
Website powered by Symfony and Twig, deployed on
The Twig logo is © 2010-2024 Symfony