var_export var_dump print_r pretty espaƱol _post php arrays var-dump

php - print_r - var_dump()



Hacer que var_dump se vea bonito (10)

Tengo un conjunto simple de consultas $_GET[] para mostrar los datos de prueba al eliminar las consultas de la base de datos.

<?php if($_GET[''test'']): ?> <div id="test" style="padding: 24px; background: #fff; text-align: center;"> <table> <tr style="font-weight: bold;"><td>MLS</td></tr> <tr><td><?php echo KEY; ?></td></tr> <tr style="font-weight: bold;"><td>QUERY</td></tr> <tr><td><?php echo $data_q; ?></td></tr> <tr style="font-weight: bold;"><td>DATA</td></tr> <tr><td><?php var_dump($data); ?></td></tr> </table> </div> <?php endif; ?>

Cuando hago var_dump , como es de esperar, es esta gran cadena de matriz la que está totalmente comprimida. ¿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.


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.

Mejore un poco la visualización de Xdebug (dé un poco de espacio, separe los valores, envuelva las 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 " <style> /* Styling pre tag */ pre { padding:10px 20px; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word; } /* =========================== == To use with XDEBUG =========================== */ /* Source file */ pre small:nth-child(1) { font-weight: bold; font-size: 14px; color: #CC0000; } pre small:nth-child(1)::after { content: ''''; position: relative; width: 100%; height: 20px; left: 0; display: block; clear: both; } /* Separator */ pre i::after{ content: ''''; position: relative; width: 100%; height: 15px; left: 0; display: block; clear: both; border-bottom: 1px solid grey; } </style> "; //=== Content echo "<pre style=''background:$background; color:$color; padding:10px 20px; border:2px inset $color''>"; echo "<h2>$title</h2>"; var_dump($data); echo "</pre>"; }


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

Puede ser alguien así también.

function dd($data){ highlight_string("<?php/n " . var_export($data, true) . "?>"); echo ''<script>document.getElementsByTagName("code")[0].getElementsByTagName("span")[1].remove() ;document.getElementsByTagName("code")[0].getElementsByTagName("span")[document.getElementsByTagName("code")[0].getElementsByTagName("span").length - 1].remove() ; </script>''; die(); }

Resultado antes:

Resultado después:

Ahora no tenemos etiqueta de inicio y cierre de php


La mejor y más fácil forma de obtener un buen var_dump es utilizar xDebug (debe tener para cualquier dev php) instalación de manera Debian

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

Buscar display_errors

establecer 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.

Aquí se pueden encontrar muchas otras opciones y documentación disponibles para xdebug.

https://xdebug.org/docs/

Buena suerte y diviertete !!!

Result




Prueba la extensión xdebug para php.

Ejemplo:

<?php var_dump($_SERVER); ?>

Productos:


Realmente amo var_export() . Si le gusta el código de copiar / pegar, intente:

echo ''<pre>'' . var_export($data, true) . ''</pre>'';

O incluso algo como esto para resaltar la sintaxis del color:

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


También puedes probar Xdebug para volcados de var más informativos


Usar código HTML preformateado

echo ''<pre>''; var_dump($data); echo ''</pre>'';


Utilizar

echo nl2br(var_dump());

Esto debería funcionar ^^