Dumper
Orice dezvoltator de depanare este un bun prieten cu funcția var_dump
, care listează în detaliu tot conținutul
oricărei variabile. Din păcate, ieșirea sa este lipsită de formatare HTML și scoate dump-ul într-o singură linie de cod
HTML, ca să nu mai vorbim de scăparea contextului. Este necesar să se înlocuiască var_dump
cu o funcție mai la
îndemână. Este exact ceea ce este dump()
.
$arr = [10, 20.2, true, null, 'hello'];
dump($arr);
// sau Debugger::dump($arr);
generează rezultatul:
Puteți schimba tema luminoasă implicită în tema întunecată:
Debugger::$dumpTheme = 'dark';
De asemenea, puteți modifica adâncimea de anvelopare prin Debugger::$maxDepth
și lungimea șirurilor afișate
prin Debugger::$maxLength
. Firește, valorile mai mici accelerează redarea Tracy.
Debugger::$maxDepth = 2; // implicit: 3
Debugger::$maxLength = 50; // implicit: 150
Funcția dump()
poate afișa și alte informații utile. Tracy\Dumper::LOCATION_SOURCE
adaugă un
tooltip cu calea către fișierul în care a fost apelată funcția. Tracy\Dumper::LOCATION_LINK
adaugă un link
către fișier. Tracy\Dumper::LOCATION_CLASS
adaugă un tooltip la fiecare obiect descărcat care conține calea
către fișierul în care este definită clasa obiectului. Toate aceste constante pot fi setate în variabila
Debugger::$showLocation
înainte de a apela funcția dump()
. Puteți seta mai multe valori deodată
folosind operatorul |
.
Debugger::$showLocation = Tracy\Dumper::LOCATION_SOURCE; // Arată calea către locul unde a fost apelat dump()
Debugger::$showLocation = Tracy\Dumper::LOCATION_CLASS | Tracy\Dumper::LOCATION_LINK; // Afișează atât căile de acces la clase, cât și link-ul către locul unde a fost apelat dump()
Debugger::$showLocation = false; // Ascunde informații suplimentare privind locația
Debugger::$showLocation = true; // Afișează toate informațiile suplimentare privind locația
O alternativă foarte la îndemână la dump()
este dumpe()
(adică dump and exit) și
bdump()
. Aceasta ne permite să aruncăm variabilele din Tracy Bar. Acest lucru este util, deoarece dump-urile nu
încurcă ieșirea și putem, de asemenea, să adăugăm un titlu la dump.
bdump([2, 4, 6, 8], 'even numbers up to ten');
bdump([1, 3, 5, 7, 9], 'odd numbers up to ten');