var_dump - var_export php
Cómo obtener xdebug var_dump para mostrar el objeto completo/matriz (6)
Estoy usando xdebug (php_xdebug-2.1.2-5.3-vc9.dll) en WAMP . Cuando uso var_dump
en un objeto grande o variable, no muestra la variable completa.
array
''node'' =>
array
''my_form'' =>
array
''form'' =>
array
...
Sin xdebug se muestra como se debe esperar. Miré la documentación pero no vi una solución. ¿Alguien sabe cómo puedo arreglar esto para que xdebug var_dump
muestre el objeto completo ?
Ahora esto es tarde pero podría ser de alguna utilidad:
echo "<pre>";
print_r($array);
echo "</pre>";
Estas son variables configurables en php.ini:
; with sane limits
xdebug.var_display_max_depth = 10
xdebug.var_display_max_children = 256
xdebug.var_display_max_data = 1024
; with no limits
; (maximum nesting is 1023)
xdebug.var_display_max_depth = -1
xdebug.var_display_max_children = -1
xdebug.var_display_max_data = -1
Por supuesto, estos también pueden configurarse en tiempo de ejecución a través de ini_set()
, útil si no desea modificar php.ini y reiniciar su servidor web, pero necesita inspeccionar rápidamente algo más profundamente.
ini_set(''xdebug.var_display_max_depth'', ''10'');
ini_set(''xdebug.var_display_max_children'', ''256'');
ini_set(''xdebug.var_display_max_data'', ''1024'');
Los ajustes de Xdebug se explican en la documentación oficial .
Me gustaría recomendar var_export($array)
- no muestra tipos, pero genera una sintaxis que puedes usar en tu código :)
O puedes usar una alternativa:
https://github.com/kint-php/kint
Funciona con la configuración de cero y tiene muchas más funciones que el var_dump de Xdebug de todos modos. Para evitar el límite anidado sobre la marcha con Kint, solo use
+d( $variable ); // append `+` to the dump call
Sé que este es un post muy viejo, pero pensé que esto todavía podría ser útil.
Si se siente cómodo leyendo el formato json, puede reemplazar su var_dump con:
return json_encode($myvar);
He estado usando esto para ayudar a solucionar problemas de un servicio que he estado construyendo y que tiene algunos arreglos profundamente anidados. Esto devolverá todos los niveles de su matriz sin truncar nada o requerir que cambie su archivo php.ini.
Además, dado que los datos json_encoded son una cadena, significa que puede escribirlos en el registro de errores fácilmente
error_log(json_encode($myvar));
Probablemente no sea la mejor opción para cada situación, ¡pero es una opción!
Compruebe la configuración var_dump de Xdebbug , en particular los valores de esta configuración:
xdebug.var_display_max_children
xdebug.var_display_max_data
xdebug.var_display_max_depth