Twig

The flexible, fast, and secure
template engine for PHP

a Symfony Product
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.

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:

1
{{ 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:

1
2
3
4
5
$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:

1
2
3
<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:

1
{{ dump(user, categories) }}

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

1
{{ dump() }}

Note

Internally, Twig uses the PHP var_dump function.

Arguments

  • context: The context to dump