Twig VarDumper
Proporciona funciones Twig mejoradas dump() y vardumper() utilizando Symfony VarDumper para una mejor salida de depuración de variables PHP en plantillas Twig.
twig_vardumper
Install
composer require 'drupal/twig_vardumper:^3.2'
Overview
Twig VarDumper es una herramienta para desarrolladores que mejora la depuración de variables en plantillas Twig aprovechando el componente VarDumper de Symfony. Sobrescribe la función predeterminada dump() de Twig y proporciona una función adicional vardumper(), ambas producen una salida interactiva y bellamente formateada para inspeccionar variables PHP.
Cuando el modo de depuración de Twig está habilitado, estas funciones muestran las variables en un formato colapsable y codificado por colores que es muy superior a la salida estándar de var_dump(). Esto facilita significativamente la inspección de estructuras de datos complejas como render arrays, objetos de entidad y arrays anidados durante el desarrollo de temas.
El módulo requiere que el modo de depuración de Twig esté habilitado en tu entorno de desarrollo. Cuando el modo de depuración está deshabilitado (típicamente en producción), las funciones dump no devuelven nada, asegurando que no aparezca salida de depuración en sitios en producción.
Features
- Proporciona una función dump() de Twig mejorada que muestra variables usando Symfony VarDumper con formato bonito e interactivo
- Proporciona la función vardumper() de Twig como alias para la funcionalidad de dump mejorada
- Verifica automáticamente el modo de depuración de Twig y solo produce salida cuando la depuración está habilitada
- Muestra volcados de variables colapsables, codificados por colores e interactivos en el navegador
- Soporta volcar todo el contexto de Twig cuando se llama sin argumentos
- Soporta volcar variables específicas cuando se pasan como argumentos
- Funciona con cualquier tipo de variable incluyendo arrays, objetos, render arrays y objetos de entidad
Use Cases
Depuración de Render Arrays
Al construir o modificar plantillas Twig, usa {{ dump(content) }} para inspeccionar render arrays y entender su estructura, campos disponibles y elementos anidados antes de renderizarlos.
Inspección de Objetos de Entidad
Usa {{ dump(node) }} o {{ dump(user) }} para explorar objetos de entidad y descubrir propiedades y métodos disponibles al trabajar con plantillas de entidad como node.html.twig o user.html.twig.
Exploración del Contexto de Twig
Llama a {{ dump() }} sin argumentos para ver todas las variables disponibles en el contexto actual de la plantilla, lo cual es útil al trabajar con plantillas desconocidas o entender la herencia de variables.
Inspección de Valores de Campo
Usa {{ dump(content.field_name) }} para inspeccionar render arrays de campos y entender su estructura, facilitando la personalización de la salida de campos en plantillas.
Depuración de Variables de Preprocess
Después de implementar funciones hook_preprocess, usa vardumper() en plantillas para verificar que las variables personalizadas se están pasando correctamente y contienen los valores esperados.
Tips
- Siempre deshabilita el modo de depuración de Twig en entornos de producción por razones de seguridad y rendimiento
- Usa dump() con variables específicas en lugar de todo el contexto para evitar una salida abrumadora
- Combina con las herramientas de desarrollador del navegador para colapsar/expandir la salida de VarDumper para una navegación más fácil
- Recuerda que la salida de dump() aparece en línea donde la función es llamada en la plantilla
- Para estructuras anidadas complejas, vuelca claves individuales para enfocarte en datos específicos: {{ dump(content['#node']) }}
Technical Details
Hooks 1
hook_help
Proporciona texto de ayuda para el módulo en la página de ayuda de administración
Troubleshooting 3
Asegúrate de que el modo de depuración de Twig esté habilitado. Establece twig.config.debug: true en development.services.yml y descomenta la línea container_yamls en settings.local.php. Limpia todas las cachés después de hacer los cambios.
Instala el componente VarDumper vía Composer: composer require symfony/var-dumper. Si usas Drupal con Composer, esto debería instalarse automáticamente como dependencia.
El módulo verifica la biblioteca VarDumper durante la instalación. Asegúrate de haber ejecutado composer require drupal/twig_vardumper que instalará todas las dependencias automáticamente.
Security Notes 3
- Nunca habilites el modo de depuración de Twig en sitios de producción ya que puede exponer información sensible y degradar el rendimiento
- El módulo previene automáticamente la salida cuando el modo de depuración está deshabilitado, proporcionando una red de seguridad
- Elimina o comenta las llamadas a dump() antes de desplegar plantillas a producción