Pregunta

Estoy tratando de usar Twig (Inside Symfony2) para depurar una variable que contiene una matriz multidimensional, pero solo genera hasta tres matrices de profundidad:

array
  'Coating' => 
    array
      'type' => string 'single' (length=6)
      'data' => 
        array
          0 => 
            array
              ...
          1 => 
            array
              ...
          2 => 
            array
              ...

Mientras que un print_r generaría

Array
(
    [Coating] => Array
        (
            [type] => single
            [data] => Array
                (
                    [0] => Array
                        (
                            [id] => 1
                            [selectable] => 1
                            [name] => Front
                        )

                    [1] => Array
                        (
                            [id] => 7
                            [selectable] => 1
                            [name] => Back
                        )

                    [2] => Array
                        (
                            [id] => 13
                            [selectable] => 1
                            [name] => Both Sides
                        )

                )

        )

)

La razón por la que me gustaría que Twig hiciera la depuración es que el código de impresión antes de que mi plantilla se represente se jumbea por completo de la salida de una página determinada: me gustaría imprimir los datos donde se lee fácilmente.

No entiendo por qué una "depuración" truncaría los datos ...

Editar: la depuración es a través del uso de {% debug foobar %} Con esa etiqueta habilitada a través de la inclusión de lo siguiente en la configuración de mi aplicación:

services:
  twig.extension.debug:
    class: Twig_Extensions_Extension_Debug
    tags: [ { name: 'twig.extension' } ]
¿Fue útil?

Solución

Acabo de leer el código fuente de la extensión de depuración de twig (clase twig_extensions_node_debug) y no trunca el var_dump. Probablemente sea xdebug lo que está truncando: cito un comentario sobre la documentación VAR_DUMP PHP.NET:

Tenga en cuenta que si tiene xdebug instalado, limitará la salida var_dump () de elementos de matriz y propiedades de objetos a 3 niveles de profundidad.

Para cambiar el valor predeterminado, edite su archivo xdebug.ini y agregue la línea Folllowing: xdebug.var_display_max_depth = n

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top