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 is no longer maintained.

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 %}