Samohodnik
Vsak razvijalec razhroščevanja je dober prijatelj s funkcijo var_dump
, ki podrobno izpiše vso vsebino poljubne
spremenljivke. Na žalost je njen izpis brez oblikovanja HTML in izpiše izpis v eno samo vrstico kode HTML, da ne omenjamo
eskapiranja konteksta. Funkcijo var_dump
je treba nadomestiti z bolj priročno funkcijo. Prav to je
dump()
.
$arr = [10, 20.2, true, null, 'hello'];
dump($arr);
// ali Debugger::dump($arr);
generira izhodni rezultat:
Privzeto svetlo temo lahko spremenite v temno:
Debugger::$dumpTheme = 'dark';
Prav tako lahko spremenite globino gnezdenja s Debugger::$maxDepth
in dolžino prikazanih nizov s
Debugger::$maxLength
. Seveda nižje vrednosti pospešijo upodabljanje programa Tracy.
Debugger::$maxDepth = 2; // privzeto: 3
Debugger::$maxLength = 50; // privzeto: 150
Funkcija dump()
lahko prikaže še druge koristne informacije. Tracy\Dumper::LOCATION_SOURCE
doda
namig s potjo do datoteke, v kateri je bila funkcija klicana. Tracy\Dumper::LOCATION_LINK
doda povezavo do
datoteke. Tracy\Dumper::LOCATION_CLASS
vsakemu izpisanemu objektu doda namig s potjo do datoteke, v kateri je
definiran razred objekta. Vse te konstante lahko nastavite v spremenljivki Debugger::$showLocation
, preden
pokličete funkcijo dump()
. Z operatorjem |
lahko nastavite več vrednosti hkrati.
Debugger::$showLocation = Tracy\Dumper::LOCATION_SOURCE; // Pokaže pot do mesta, kjer je bil klican ukaz dump()
Debugger::$showLocation = Tracy\Dumper::LOCATION_CLASS | Tracy\Dumper::LOCATION_LINK; // Prikaže poti do razredov in povezavo do mesta, kjer je bil klican ukaz dump().
Debugger::$showLocation = false; // Skrije dodatne informacije o lokaciji
Debugger::$showLocation = true; // Prikaže vse dodatne informacije o lokaciji
Zelo priročna alternativa za dump()
sta dumpe()
(tj. dump and exit) in bdump()
. To nam
omogoča, da v programu Tracy Bar izpraznimo spremenljivke. To je koristno, ker se pri izpisu ne zmoti izpis, poleg tega pa lahko
izpisu dodamo tudi naslov.
bdump([2, 4, 6, 8], 'even numbers up to ten');
bdump([1, 3, 5, 7, 9], 'odd numbers up to ten');