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