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