31 lines
692 B
ReStructuredText
31 lines
692 B
ReStructuredText
``defined``
|
|
===========
|
|
|
|
``defined`` checks if a variable is defined in the current context. This is very
|
|
useful if you use the ``strict_variables`` option:
|
|
|
|
.. code-block:: twig
|
|
|
|
{# 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:
|
|
|
|
.. code-block:: twig
|
|
|
|
{% if var is defined and foo.method(var) is defined %}
|
|
...
|
|
{% endif %}
|