Dump

Ogni debugger è un buon amico della funzione var_dump, che stampa dettagliatamente il contenuto di una variabile. Sfortunatamente, in un ambiente HTML, l'output perde la formattazione e si fonde in un'unica riga, per non parlare della sanificazione del codice HTML. In pratica, è necessario sostituire var_dump con una funzione più pratica. Questa è dump().

$arr = [10, 20.2, true, null, 'hello'];

dump($arr);
// o Debugger::dump($arr);

genera l'output:

È possibile cambiare il tema chiaro predefinito in uno scuro:

Debugger::$dumpTheme = 'dark';

Inoltre, possiamo modificare la profondità di annidamento utilizzando Debugger::$maxDepth e la lunghezza delle etichette visualizzate utilizzando Debugger::$maxLength. Valori più bassi accelereranno naturalmente Tracy.

Debugger::$maxDepth = 2; // default: 3
Debugger::$maxLength = 50; // default: 150

La funzione dump() può anche stampare altre informazioni utili. La costante Tracy\Dumper::LOCATION_SOURCE aggiunge un tooltip con il percorso del punto in cui la funzione è stata chiamata. Tracy\Dumper::LOCATION_LINK ci fornisce un link a quella posizione. Tracy\Dumper::LOCATION_CLASS stampa un tooltip per ogni oggetto dumpato con il percorso del file in cui è definita la sua classe. Le costanti vengono impostate nella variabile Debugger::$showLocation prima di chiamare dump(). Se vogliamo impostare più valori contemporaneamente, li combiniamo usando l'operatore |.

Debugger::$showLocation = Tracy\Dumper::LOCATION_SOURCE; // Imposta solo la stampa sulla posizione della chiamata della funzione
Debugger::$showLocation = Tracy\Dumper::LOCATION_CLASS | Tracy\Dumper::LOCATION_LINK; // Imposta contemporaneamente la stampa del link e il percorso della classe
Debugger::$showLocation = false; // Disattiva la stampa delle informazioni aggiuntive
Debugger::$showLocation = true; // Attiva la stampa di tutte le informazioni aggiuntive

Un'alternativa pratica a dump() è dumpe() (dump & exit) e bdump(). Questo ci permette di stampare il valore di una variabile nel pannello della Tracy Bar. Questo è molto utile, poiché i dump sono separati dal layout della pagina e possiamo anche aggiungere un commento ad essi.

bdump([2, 4, 6, 8], 'numeri pari fino a dieci');
bdump([1, 3, 5, 7, 9], 'numeri dispari fino a dieci');