Haz que var_dump se vea bonita

Tengo un conjunto de var de consulta $_GET[] establecido para mostrar datos de prueba al extraer consultas de la base de datos.

  
MLS
QUERY
DATA

Cuando hago var_dump , como es de esperar, es esta gran cadena de matrices que está todo junto. ¿Hay alguna manera de agregar saltos de línea al menos para esto o mostrar el var_dump de una manera que sea más legible? Estoy abierto a las sugerencias de jQuery sobre la manipulación de la cadena después de su publicación.

Realmente amo var_export() . Si te gusta el código capaz de copiar / pegar, prueba:

 echo '
' . var_export($data, true) . '

';

O incluso algo como esto para resaltar la syntax de color:

 highlight_string("< ?php\n\$data =\n" . var_export($data, true) . ";\n?>"); 

Prueba la extensión xdebug para php.

Ejemplo:

 < ?php var_dump($_SERVER); ?> 

Salidas:

introduzca la descripción de la imagen aquí

Usar código HTML preformateado

 echo '
'; var_dump($data); echo '

';

He hecho una adición a las respuestas de @AbraCadaver. He incluido un script javascript que eliminará la etiqueta de inicio y cierre de php. Tendremos limpio más bonito basurero.

Puede ser alguien así también.

 function dd($data){ highlight_string("< ?php\n " . var_export($data, true) . "?>"); echo ''; die(); } 

Resultado anterior:

introduzca la descripción de la imagen aquí

Resultado Después:

introduzca la descripción de la imagen aquí

Ahora no tenemos etiqueta de inicio y cierre de php

Si está “todo junto”, a menudo se puede probar el código fuente de la vista “. A veces, los volcados, mensajes y excepciones parecen ser solo una cadena larga cuando resulta que los saltos de línea simplemente no se muestran. Especialmente los árboles XML.

Alternativamente, una vez he creado una pequeña herramienta llamada InteractiveVarDump para este propósito. Ciertamente tiene sus límites, pero también puede ser muy conveniente a veces. A pesar de que fue diseñado con PHP 5 en mente.

La mejor y más fácil forma de obtener var_dump es usar xDebug (debe tenerlo para cualquier desarrollador de php).

En la consola: apt-get install php-xdebug después de eso, debes abrir php.ini (depende de la stack que uses) para su /etc/php/7.0/fpm/php.ini

Buscar display_errors

configurar lo mismo -> display_errors = On

Compruebe html_errors en el mismo archivo un poco más abajo, también debe estar On

Guardar y Salir

Después de abrir /etc/php/7.0/fpm/conf.d/20-xdebug.ini

Y agregue al final: “ `xdebug.cli_color = 1

“ `Guardar y salir.

Muchas otras opciones disponibles y documentación para xdebug se pueden encontrar aquí.

https://xdebug.org/docs/

Buena suerte y diviertete !!!

Resultado

Puedes usar este debugVar() lugar de var_dump()

Echa un vistazo a: https://github.com/E1NSER/php-debug-function

Aquí está mi función para tener un bonito var_dump. Combinado con Xdebug , ayuda mucho tener una mejor visión de lo que estamos descargando.

Mejoré un poco la visualización de Xdebug (dale algo de espacio, separador entre valores, envuelve variables largas, etc.).

Cuando llama a la función, puede establecer un título, un fondo, un color de texto para distinguir todos sus var_dump en una página.

O no 😉

 /** * Pretty var_dump * Possibility to set a title, a background-color and a text color */ function dump($data, $title="", $background="#EEEEEE", $color="#000000"){ //=== Style echo "  "; //=== Content echo "
"; echo "

$title

"; var_dump($data); echo "

"; }

Hay un paquete de Symfony para esto: https://symfony.com/doc/current/components/var_dumper.html .

 function var_view($var) { ini_set("highlight.keyword", "#a50000; font-weight: bolder"); ini_set("highlight.string", "#5825b6; font-weight: lighter; "); ob_start(); highlight_string("< ?php\n" . var_export($var, true) . "?>"); $highlighted_output = ob_get_clean(); $highlighted_output = str_replace( "<?php", '', $highlighted_output ); $highlighted_output = str_replace( "?>", '', $highlighted_output ); echo $highlighted_output; die(); } 

Escribí una función ( debug_display ) que puede imprimir, arreglos, objetos, e información de archivos de una manera bonita.

 < ?php function debug_display($var,$show = false) { if($show) { $dis = 'block'; }else { $dis = 'none'; } ob_start(); echo '
Idea Debug Method :
'; if(is_bool($var)) { echo $var === TRUE ? 'Boolean(TRUE)' : 'Boolean(FALSE)'; }else { if(FALSE == empty($var) && $var !== NULL && $var != '0') { if(is_array($var)) { echo "Number of Indexes: " . count($var) . "\n"; print_r($var); } elseif(is_object($var)) { print_r($var); } elseif(@is_file($var)){ $stat = stat($var); $perm = substr(sprintf('%o',$stat['mode']), -4); $accesstime = gmdate('Y/m/d H:i:s', $stat['atime']); $modification = gmdate('Y/m/d H:i:s', $stat['mtime']); $change = gmdate('Y/m/d H:i:s', $stat['ctime']); echo " file path : $var file size : {$stat['size']} Byte device number : {$stat['dev']} permission : {$perm} last access time was : {$accesstime} last modified time was : {$modification} last change time was : {$change} "; }elseif(is_string($var)) { print_r(htmlentities(str_replace("\t", ' ', $var))); } else { print_r($var); } }else { echo 'Undefined'; } } echo '

'; $output = ob_get_contents(); ob_end_clean(); echo $output; unset($output); }

Utilizar

 echo nl2br(var_dump()); 

Esto debería funcionar ^^