Dumper
Todo desarrollador de depuración es un buen amigo de la función var_dump
, que lista todos los contenidos de
cualquier variable en detalle. Desafortunadamente, su salida no tiene formato HTML y emite el volcado en una sola línea de
código HTML, sin mencionar el escapado de contexto. Es necesario sustituir var_dump
por una función más práctica.
Eso es precisamente lo que es dump()
.
$arr = [10, 20.2, true, null, 'hello'];
dump($arr);
// or Debugger::dump($arr);
genera la salida:
Puedes cambiar el tema claro por defecto a oscuro:
Debugger::$dumpTheme = 'dark';
También puede cambiar la profundidad de anidamiento en Debugger::$maxDepth
y la longitud de las cadenas mostradas
en Debugger::$maxLength
. Naturalmente, los valores más bajos aceleran el renderizado de Tracy.
Debugger::$maxDepth = 2; // default: 3
Debugger::$maxLength = 50; // default: 150
La función dump()
puede mostrar otra información útil. Tracy\Dumper::LOCATION_SOURCE
añade un
tooltip con la ruta al archivo en el que se llamó a la función. Tracy\Dumper::LOCATION_LINK
añade un enlace al
archivo. Tracy\Dumper::LOCATION_CLASS
añade un tooltip a cada objeto volcado que contiene la ruta al archivo en el
que se define la clase del objeto. Todas estas constantes pueden establecerse en la variable Debugger::$showLocation
antes de llamar a la función dump()
. Puede establecer varios valores a la vez utilizando el operador
|
.
Debugger::$showLocation = Tracy\Dumper::LOCATION_SOURCE; // Muestra la ruta donde se llamó a dump()
Debugger::$showLocation = Tracy\Dumper::LOCATION_CLASS | Tracy\Dumper::LOCATION_LINK; // Muestra tanto las rutas a las clases como el enlace a donde se llamó al dump()
Debugger::$showLocation = false; // Oculta la información adicional de localización
Debugger::$showLocation = true; // Muestra toda la información adicional de localización
Una alternativa muy práctica a dump()
es dumpe()
(es decir, volcar y salir) y bdump()
.
Esto nos permite volcar variables en Tracy Bar. Esto es útil, porque los volcados no ensucian la salida y también podemos
añadir un título al volcado.
bdump([2, 4, 6, 8], 'even numbers up to ten');
bdump([1, 3, 5, 7, 9], 'odd numbers up to ten');