Back to Twig

``dump``

doc/functions/dump.rst

3.24.01.6 KB
Original Source

dump

The dump function dumps information about a template variable. This is mostly useful to debug a template that does not behave as expected by introspecting its variables:

.. code-block:: twig

{{ dump(user) }}

.. note::

The ``dump`` function is not available by default. You must add the
``\Twig\Extension\DebugExtension`` extension explicitly when creating your Twig
environment::

    $twig = new \Twig\Environment($loader, [
        'debug' => true,
        // ...
    ]);
    $twig->addExtension(new \Twig\Extension\DebugExtension());

Even when enabled, the ``dump`` function won't display anything if the
``debug`` option on the environment is not enabled (to avoid leaking debug
information on a production server).

In an HTML context, wrap the output with a pre tag to make it easier to read:

.. code-block:: html+twig

<pre>
    {{ dump(user) }}
</pre>

.. tip::

Using a ``pre`` tag is not needed when `XDebug`_ is enabled and
``html_errors`` is ``on``; as a bonus, the output is also nicer with
XDebug enabled.

You can debug several variables by passing them as additional arguments:

.. code-block:: twig

{{ dump(user, categories) }}

If you don't pass any value, all variables from the current context are dumped:

.. code-block:: twig

{{ dump() }}

.. note::

Internally, Twig uses the PHP `var_dump`_ function.

Arguments

  • context: The context to dump

.. _XDebug: https://xdebug.org/docs/display .. _var_dump: https://www.php.net/var_dump