Дампінг

Кожен налагоджувач є добрим другом функції var_dump, яка детально виводить вміст змінної. На жаль, у середовищі HTML вивід втрачає форматування і зливається в один рядок, не кажучи вже про санітизацію HTML-коду. На практиці необхідно замінити var_dump на зручнішу функцію. Саме такою є dump().

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

dump($arr);
// або Debugger::dump($arr);

генерує вивід:

Стандартну світлу тему можна змінити на темну:

Debugger::$dumpTheme = 'dark';

Далі ми можемо змінити глибину вкладеності за допомогою Debugger::$maxDepth та довжину відображуваних міток за допомогою Debugger::$maxLength. Нижчі значення природно прискорять Tracy.

Debugger::$maxDepth = 2; // за замовчуванням: 3
Debugger::$maxLength = 50; // за замовчуванням: 150

Функція dump() може виводити й іншу корисну інформацію. Константа Tracy\Dumper::LOCATION_SOURCE додає підказку зі шляхом до місця, де була викликана функція. Tracy\Dumper::LOCATION_LINK надає нам посилання на це місце. Tracy\Dumper::LOCATION_CLASS для кожного дампованого об'єкта виводить підказку зі шляхом до файлу, в якому визначено його клас. Константи встановлюються у змінну Debugger::$showLocation ще до виклику dump(). Якщо ми хочемо встановити кілька значень одночасно, ми об'єднуємо їх за допомогою оператора |.

Debugger::$showLocation = Tracy\Dumper::LOCATION_SOURCE; // Встановлює лише вивід про місце виклику функції
Debugger::$showLocation = Tracy\Dumper::LOCATION_CLASS | Tracy\Dumper::LOCATION_LINK; // Встановлює одночасно вивід посилання та шлях до класу
Debugger::$showLocation = false; // Вимикає вивід додаткової інформації
Debugger::$showLocation = true; // Вмикає вивід усієї додаткової інформації

Практичною альтернативою dump() є dumpe() (dump & exit) та bdump(). Це дозволяє нам виводити значення змінної на панелі Tracy Bar. Це дуже зручно, оскільки дампи відокремлені від макета сторінки, і ми також можемо додати до них коментар.

bdump([2, 4, 6, 8], 'парні числа до десяти');
bdump([1, 3, 5, 7, 9], 'непарні числа до десяти');