Dömper
Minden hibakereső fejlesztő jó barátja a var_dump
függvény, amely részletesen felsorolja bármely változó
összes tartalmát. Sajnos a kimenete HTML-formázás nélküli, és a dumpot egyetlen sor HTML-kódba adja ki, nem is beszélve a
kontextus eszkópolásáról. Szükséges a var_dump
helyett egy sokkal praktikusabb függvényt használni. Éppen
ez a dump()
.
$arr = [10, 20.2, true, null, 'hello'];
dump($arr);
// vagy Debugger::dump($arr);
generálja a kimenetet:
Az alapértelmezett világos témát sötétre változtathatja:
Debugger::$dumpTheme = 'dark';
Megváltoztathatja a beágyazás mélységét a Debugger::$maxDepth
és a megjelenített karakterláncok hosszát
a Debugger::$maxLength
. Természetesen az alacsonyabb értékek gyorsítják a Tracy renderelését.
Debugger::$maxDepth = 2; // alapértelmezett: 3
Debugger::$maxLength = 50; // alapértelmezett: 150
A dump()
függvény más hasznos információkat is megjeleníthet. Tracy\Dumper::LOCATION_SOURCE
egy
tooltipet ad hozzá a fájl elérési útvonalával, ahol a függvényt meghívták. Tracy\Dumper::LOCATION_LINK
egy
linket ad hozzá a fájlhoz. Tracy\Dumper::LOCATION_CLASS
egy tooltipet ad hozzá minden dömpingelt objektumhoz,
amely tartalmazza a fájl elérési útvonalát, amelyben az objektum osztálya definiálva van. Mindezek a konstansok a
Debugger::$showLocation
változóban állíthatók be a dump()
meghívása előtt. A |
operátorral egyszerre több értéket is beállíthat.
Debugger::$showLocation = Tracy\Dumper::LOCATION_SOURCE; // Megmutatja az elérési utat, ahol a dump() meghívásra került.
Debugger::$showLocation = Tracy\Dumper::LOCATION_CLASS | Tracy\Dumper::LOCATION_LINK; // Megjeleníti az osztályok elérési útvonalát és a dump() meghívásának helyére mutató linket is.
Debugger::$showLocation = false; // Elrejti a további helyinformációkat.
Debugger::$showLocation = true; // Megjeleníti az összes további helyinformációt.
A dump()
nagyon praktikus alternatívája a dumpe()
(azaz dump és exit) és a bdump()
.
Ez lehetővé teszi számunkra a változók dumpolását a Tracy Barban. Ez azért hasznos, mert a dumpok nem rontják el a
kimenetet, és címet is adhatunk a dumphoz.
bdump([2, 4, 6, 8], 'even numbers up to ten');
bdump([1, 3, 5, 7, 9], 'odd numbers up to ten');