Zrzucanie

Każdy debugger jest dobrym przyjacielem funkcji var_dump, która szczegółowo wyrzuca zawartość zmiennej. Niestety, w środowisku HTML, zrzut traci formatowanie i zwala się na jedną linię, nie wspominając o sanityzacji kodu HTML. W praktyce konieczne jest zastąpienie var_dump funkcją poręczniejszą. To jest dump().

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

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

generuje wyjście:

Możesz zmienić domyślny jasny motyw na ciemny:

Debugger::$dumpTheme = 'dark';

Możemy również zmienić głębię pola za pomocą Debugger::$maxDepth oraz długość wyświetlanych etykiet za pomocą Debugger::$maxLength. Niższe wartości naturalnie przyspieszą działanie debugera.

Debugger::$maxDepth = 2; // domyślnie: 3
Debugger::$maxLength = 50; // domyślnie: 150

Funkcja dump() może również wyprowadzać inne przydatne informacje. Stała Tracy\Dumper::LOCATION_SOURCE dodaje tooltip ze ścieżką do miejsca, w którym wywołano funkcję. Tracy\Dumper::LOCATION_LINK daje nam link do tego miejsca. Tracy\Dumper::LOCATION_CLASS Dla każdego zrzuconego obiektu wypisuje tooltip ze ścieżką do pliku definiującego jego klasę. Stałe ustawiamy w zmiennej Debugger::$showLocation przed wywołaniem dump(). Jeśli chcemy ustawić wiele wartości naraz, konkatenujemy je za pomocą operatora |.

Debugger::$showLocation = Tracy\Dumper::LOCATION_SOURCE; // Ustawia tylko deklarację lokalizacji wywołania funkcji
Debugger::$showLocation = Tracy\Dumper::LOCATION_CLASS | Tracy\Dumper::LOCATION_LINK; // Ustawia zarówno listing linków jak i ścieżkę klasy
Debugger::$showLocation = false; // Wyłącza wyświetlanie dodatkowych informacji
Debugger::$showLocation = true; // Włącza wyświetlanie wszystkich dodatkowych informacji

Praktycznymi alternatywami dla dump()dumpe() (dump & exit) oraz bdump(). Ten ostatni pozwala nam zrzucić wartość zmiennej w Tracy Bar. Jest to bardzo przydatne, ponieważ zrzuty są oddzielone od układu strony, a dodatkowo możemy umieścić na nich komentarz.

bdump([2, 4, 6, 8], 'sudá čísla do deseti');
bdump([1, 3, 5, 7, 9], 'lichá čísla do deseti');