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');