
Что это?
Кинт для PHP - инструмент, призванный представить данные отладки наилучшим образом. Другими словами, это var_dump () и debug_backtrace () на стероидах. Легкий в использовании, но мощный и легко настраиваемый, Kint станет существенным дополнением к вашему набору инструментов разработки. Меньше слов, больше... картинок. Немного $_SERVER, что бы вы понимали о чем я:
Что же такого особенного в Kint?Почему бы мне и дальше не использовать echo'';var_dump($var);die;
Супер простой в использовании
Практически не требует установки или зависимостей
Дамп функция принимает любое количество параметров и имеет краткую запись:
d( $variable1, $variable2 );
Так же вы можете использовать Composer для установки и поддержания в актуальном состоянии
Понимает содержание и отображает его так, что бы поняли вы
Kint форматирует данные для максимального удобства восприятия, несколько примеров:
Показывает полную информацию о вызове
Kint показывает:
- Имя переменной (выражения), которое вы дебажите
- Файл\строку, где был вызван
- Имя функции\метода содержащих вызов
Действует в качестве debug_backtrace заменителя
Вы сможете увидеть полный путь к вашему вызову, код каждого шага, все переменные, которые были переданы и при наличии объект содержащий вызвавший метод
Есть кастомизации и темы
Подробнее смотрите в разделе конфигурации.
Установка и использование
Зависимости
- PHP верии 5.3 и выше
- Браузер сделанный в этом тысячетелии
- Опционально поддержка mb_string для лучшей работы с языками
Быстрый старт
Скачайте и распакуйте Kint в нужной вам директории и подключите Kint.class.php там, где вам необходима отладка.
Конфигурация
Вы можете скопировать config.default.php и переименовать в config.php для переопределения стандартных настроек, но это совсем не обязательно, Kint отлично работает и без этого. Каждая настройка задокументированна в файле config.default.php
Расширенное использование
Вывод чистого текста
Для вывода дамбп без html оформления воспользуйтесь следующим кодом
Вывод отформатирован пробелами и не использует html,js или css сущности
Модификаторы в режиме реального времени
Kint также использует нестандартную функцию PHP: модификаторы. Это не особенность языка; Kint достигает это, анализируя код, который используется для вызова функции дампа.
Доступные модификаторы:
- +Kint::dump(); позволяет обойти ограничение по вложенности
- Иногда, при разборе особенно больших комплексных объектов вы можете встретить сообщение *DEPTH TOO GREAT* - используйте этот модификатор для обхода ограничения
- Стоит предупредить – это может повесить ваш браузер (не стоит дебажить DOM деревья, правда)
- -Kint::dump(); убирает вывод на экран чего либо до собственного вызова
- Используйте модификатор для вывода дебага на самом верху страницы
- Чрезвычайно полезно для дампинга внутри HTML; отлично сочитается с dd()
- Может повесить браузер
- В редких случаях, может конфликтовать с ob_clean() и ob_start()
- @Kint::dump(); вернет вывод дампа вместо его отображения (return, короче)
- !Kint::dump(); покажет дамп развернутым по умолчанию, так-что вам не придется кликать
Навигация по выводу
Мышка
Одинарный клик по любой строке – свернет\развернет блок. Двойной клик сворацивает\разворачиает всю вложенную структуру
Клавиатура
Нажмите клавишу d для включения\выключения режима управления клавиатурой. Текущий элемент подсветится зеленым.
- Нажмите пробел или enter для того, что бы свернуть\развернуть текущий узел
- Используйте стрелки вверх и вниз для перехода по соседним элементам (или tab, shift+tab)
- Нажмите стрелку вправо, для того, что бы раскрыть текущий элемент, или два раза, что бы раскрыть все дочерние элементы
- Нажмите стрелку влево, для сворачивания элемента и еще раз для перехода выше по вложенности
Заметки
Автор: Rokas Šleinius a.k.a. Raveren
Ссылка на GitHub: https://github.com/raveren/kint
Распространяется по лицензии MIT