Dumparea

Fiecare depanator este un bun prieten cu funcția var_dump, care afișează detaliat conținutul unei variabile. Din păcate, în mediul HTML, afișarea își pierde formatarea și se contopește într-o singură linie, fără a mai menționa sanitizarea codului HTML. În practică, este necesar să înlocuim var_dump cu o funcție mai inteligentă. Aceasta este exact dump().

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

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

generează ieșirea:

Puteți schimba tema implicită deschisă la una închisă:

Debugger::$dumpTheme = 'dark';

În plus, putem schimba adâncimea de imbricare folosind Debugger::$maxDepth și lungimea etichetelor afișate folosind Debugger::$maxLength. Valorile mai mici vor accelera în mod natural Tracy.

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

Funcția dump() poate afișa și alte informații utile. Constanta Tracy\Dumper::LOCATION_SOURCE adaugă un tooltip cu calea către locul unde a fost apelată funcția. Tracy\Dumper::LOCATION_LINK ne oferă un link către acel loc. Tracy\Dumper::LOCATION_CLASS afișează, pentru fiecare obiect dumpat, un tooltip cu calea către fișierul în care este definită clasa sa. Constantele se setează în variabila Debugger::$showLocation înainte de apelarea dump(). Dacă dorim să setăm mai multe valori simultan, le combinăm folosind operatorul |.

Debugger::$showLocation = Tracy\Dumper::LOCATION_SOURCE; // Setează doar afișarea locului apelării funcției
Debugger::$showLocation = Tracy\Dumper::LOCATION_CLASS | Tracy\Dumper::LOCATION_LINK; // Setează simultan afișarea linkului și calea către clasă
Debugger::$showLocation = false; // Dezactivează afișarea informațiilor suplimentare
Debugger::$showLocation = true; // Activează afișarea tuturor informațiilor suplimentare

O alternativă practică la dump() este dumpe() (dump & exit) și bdump(). Acesta din urmă ne permite să afișăm valoarea variabilei în panoul Tracy Bar. Acest lucru este foarte util, deoarece dump-urile sunt separate de layout-ul paginii și putem adăuga și comentarii la ele.

bdump([2, 4, 6, 8], 'numere pare până la zece');
bdump([1, 3, 5, 7, 9], 'numere impare până la zece');