Dumper
Ogni sviluppatore di debug è un buon amico della funzione var_dump
, che elenca in dettaglio tutti i contenuti di
qualsiasi variabile. Purtroppo, il suo output è privo di formattazione HTML e produce il dump in una singola riga di codice HTML,
senza contare l'escape del contesto. È necessario sostituire var_dump
con una funzione più pratica. È proprio
questo il caso di dump()
.
$arr = [10, 20.2, true, null, 'ciao'];
dump($arr);
// o Debugger::dump($arr);
genera l'output:
È possibile modificare il tema chiaro predefinito in scuro:
Debugger::$dumpTheme = 'dark';
È inoltre possibile modificare la profondità di annidamento con Debugger::$maxDepth
e la lunghezza delle
stringhe visualizzate con Debugger::$maxLength
. Naturalmente, valori più bassi accelerano il rendering
di Tracy.
Debugger::$maxDepth = 2; // valore predefinito: 3
Debugger::$maxLength = 50; // valore predefinito: 150
La funzione dump()
può visualizzare altre informazioni utili. Tracy\Dumper::LOCATION_SOURCE
aggiunge
una descrizione del percorso del file in cui è stata chiamata la funzione. Tracy\Dumper::LOCATION_LINK
aggiunge un
collegamento al file. Tracy\Dumper::LOCATION_CLASS
aggiunge una descrizione di ogni oggetto scaricato contenente il
percorso del file in cui è definita la classe dell'oggetto. Tutte queste costanti possono essere impostate nella variabile
Debugger::$showLocation
prima di chiamare la funzione dump()
. È possibile impostare più valori
contemporaneamente usando l'operatore |
.
Debugger::$showLocation = Tracy\Dumper::LOCATION_SOURCE; // Mostra il percorso in cui è stato chiamato il dump()
Debugger::$showLocation = Tracy\Dumper::LOCATION_CLASS | Tracy\Dumper::LOCATION_LINK; // Mostra sia il percorso delle classi che il link al punto in cui è stato chiamato il dump()
Debugger::$showLocation = false; // Nasconde le informazioni aggiuntive sul percorso
Debugger::$showLocation = true; // Mostra tutte le informazioni supplementari sulla localizzazione
Un'alternativa molto comoda a dump()
è rappresentata da dumpe()
(cioè dump and exit) e
bdump()
. Questi permettono di eseguire il dump delle variabili in Tracy Bar. È utile perché i dump non rovinano
l'output e si può anche aggiungere un titolo al dump.
bdump([2, 4, 6, 8], 'even numbers up to ten');
bdump([1, 3, 5, 7, 9], 'odd numbers up to ten');