Без сомнения, разработчикам PHP повезло, что в PHP включены замечательные функции утилит отладки, такие как var_dump и debug_backtrace, чтобы графически (по текстовому описанию) знать содержимое некоторой переменной. Некоторые языки, такие как C, C # и другие, не предлагают такую утилиту по умолчанию. Это действительно полезно, когда вы отлаживаете, почему ваш код не работает или вы создаете что-то с нуля.
Однако некоторые структуры переменной довольно трудно понять и прочитать даже с помощью магического метода var_dump. Вот почему есть библиотеки, которые решили сделать такую функцию еще лучше, чем Kint. Kint для PHP — довольно полезный инструмент, разработанный для представления ваших данных отладки в наивысшей возможной графической форме. Другими словами, это var_dump () и debug_backtrace () на стероидах. Простой в использовании, но мощный и настраиваемый. Это существенное дополнение к вашему набору инструментов разработки, поэтому, если вы все еще не понимаете описание этой библиотеки, она используется, чтобы увидеть, что находится внутри переменных:
Это древовидное представление отображается в виде, где вы можете посмотреть на данные, просто щелкнув в любом месте на панели, чтобы развернуть их. Некоторые особенности дерева:
- Двойной клик + чтобы развернуть всех детей
- Нажмите d, чтобы переключить навигацию с помощью клавиатуры.
- Нажмите значок «⇄» справа, чтобы увидеть, что вам нужно запустить, чтобы получить часть данных.
- Измените вкладки, чтобы увидеть различные представления данных.
- Вы можете сортировать таблицы данных, нажимая на заголовки.
Kint автоматически обнаруживает, распаковывает и анализирует распространенные форматы, такие как XML, base64, serialize и JSON. Кроме того, он обнаруживает общие шаблоны, такие как цвета, имена файлов, таблицы и временные метки, и отображает дополнительную информацию о них, предоставляя разработчику точный фрагмент кода, который им необходим для доступа к некоторой информации, вложенной глубоко в иерархию.
Монтаж
Вы можете легко использовать эту библиотеку в любом PHP-проекте, который использует версию 5.1.2 или выше. Вы можете установить его с помощью composer, просто выполнив следующую команду в своем проекте:
composer require kint-php/kint
В качестве альтернативы просто скачать файл kint.php из хранилища а затем добавьте его в ваш файл PHP, как:
После установки любым из двух способов вы сможете использовать методы, предлагаемые Kint, чтобы помочь вам в отладке.
использование
Проект сделан, чтобы быть простым в использовании. Как и методы отладки по умолчанию в языке, вы можете использовать дамп статического метода класса Kint для отладки переменных и даже с помощью ярлыков:
Секреты и уловки
- Kint включен по умолчанию, установите
Kint::$enabled_mode = false;
полностью отключить его функциональность. Рекомендуется включать Kint только в среде разработки (или, например,Kint::$enabled_mode = ($_SERVER['REMOTE_ADDR'] === '');
) - так что даже если вы случайно оставите свалку в производстве, никто не узнает. - У Kint есть сочетания клавиш! Когда Kint станет видимым, нажмите D на клавиатуре, и вы сможете обойти дерево стрелками, клавишами hjkl и tab - и развернуть / свернуть узлы пробелом или вводом.
- Нажав на знак + или панель откроет / закроет ее.
- Двойной щелчок на значке + откроет / закроет его и всех его потомков.
- Тройной щелчок по значку + откроет / закроет все на странице.
- Видите крошечные стрелки справа от выхода? Нажмите на них, чтобы открыть узел на отдельной вкладке или показать путь доступа к значению.
- Есть несколько модификаторов в реальном времени, которые вы можете использовать:
~d($var)
этот вызов будет выводиться в текстовом формате.+d($var)
будет игнорировать пределы уровня глубины и выводить все. (Осторожно, это может повесить ваш браузер на большие объекты!)!d($var)
расширит вывод автоматически.-d($var)
будет пытатьсяob_clean
предыдущий вывод.- Вы также можете комбинировать модификаторы:
~+d($var)
- Чтобы изменить тему отображения, используйте
Kint_Renderer_Rich::$theme = '';
где доступны варианты:'original.css'
(дефолт),'solarized.css'
,'solarized-dark.css'
а также'aante-light.css'
, Вы также можете передать абсолютный путь к файлу CSS, чтобы использовать его вместо этого:
dd()
,sd()
, а такжеddd()
были удалены в Kint 2, но вы можете сделать их самостоятельно с вспомогательные псевдонимы- Читать полная документация для дополнительной информации.
Как внести свой вклад
Исходный код Kint размещен на Github и вы можете сообщать о проблемах, создавать запросы извлечения, так как проект работает под лицензией MIT.