Самоскид
Кожен розробник налагоджувальних програм добре знайомий з функцією
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; // Показує шлях до місця виклику dump()
Debugger::$showLocation = Tracy\Dumper::LOCATION_CLASS | Tracy\Dumper::LOCATION_LINK; // Показує як шлях до класів, так і посилання на місце виклику dump()
Debugger::$showLocation = false; // Приховує додаткову інформацію про розташування
Debugger::$showLocation = true; // Показує всю додаткову інформацію про місцезнаходження
Дуже зручною альтернативою dump()
є dumpe()
(тобто dump and exit) та
bdump()
. Це дозволяє нам скидати змінні в Tracy Bar. Це корисно, тому що
дампи не псують висновок, і ми також можемо додати заголовок
до дампу.
bdump([2, 4, 6, 8], 'even numbers up to ten');
bdump([1, 3, 5, 7, 9], 'odd numbers up to ten');