Ver índice de contenidos del libro

7.11. Depurando

Cuando utilizas PHP (por ejemplo, dentro de un controlador) es común recurrir a la función var_dump() para ver el contenido de alguna variable. En las plantillas Twig puedes obtener el mismo resultado utilizando la extensión Debug de Twig. Para ello, activa primero la extensión en el archivo de configuración:

# app/config/config.yml
services:
    acme_hello.twig.extension.debug:
        class:        Twig_Extension_Debug
        tags:
             - { name: 'twig.extension' }
<!-- app/config/config.xml -->
<services>
    <service id="acme_hello.twig.extension.debug" class="Twig_Extension_Debug">
        <tag name="twig.extension" />
    </service>
</services>
// app/config/config.php
use Symfony\Component\DependencyInjection\Definition;
 
$definition = new Definition('Twig_Extension_Debug');
$definition->addTag('twig.extension');
$container->setDefinition('acme_hello.twig.extension.debug', $definition);

Ahora ya puedes inspeccionar el contenido de cualquier variable utilizando la función dump:

{# src/Acme/ArticleBundle/Resources/views/Article/recentList.html.twig #}
{{ dump(articles) }}
 
{% for article in articles %}
    <a href="/article/{{ article.slug }}">
        {{ article.title }}
    </a>
{% endfor %}

Ten en cuenta que esta función sólo está disponible cuando la opción de configuración debug tiene el valor true, lo que sucede normalmente en el entorno dev, pero no en el entorno prod.