Kint – современный и мощный помошник для отладки вашего кода

  1. Главная
  2. Блог
  3. Разработка
  4. Kint – современный и мощный помошник для отладки вашего кода

Что это?

Кинт для 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

  

Понравилось? Репост!
Антон
Отличный инструмент. Я как раз про него только читал. Но у Вас информация более доступно и понятно предоставлена. Спасибо за статью.
Ренат
Kint очень даже неплохой ресурс. Легко справляется с определением типа данных, информация удобно отображается. И у Вас действительно одна из самых развернутых статей, молодцы!