0
31
2019-11-27

Kint отладчик для PHP в WordPress, при помощи плагина

Если вы используете var_dump или print_r, возможно, отладка PHP с помощью Kint сделает вашу жизнь немного проще. Обратите внимание, этот пост только для веб разработчиков!
Понравилась страница? Поставь свою оценку!
PLUGIN_STAR_RATINGS.SCORE_TEXTPLUGIN_STAR_RATINGS.VOTES_TEXT

Я покажу вам аккуратный маленький инструмент, который может сделать вашу жизнь в программировании более комфортной . Я верю, что Kint только для тех, кто не может избавиться от привычки отлаживать вручную!

Я знаю два вида разработчиков. Dev A - полный рабочий день, он работает методом проб и ошибок, пишет временно грязный код, чтобы чего-то добиться любой ценой. Только тогда код достигнет своего окончательного красивого поэтического стиля. Dev B напротив, планирует все еще до того, как написать одну строчку кода, использует новейшие технологии для отладки и без того прекрасного кода, как в сказках. В случае, если вы Dev B, вы, вероятно, скорее всего вы уже используете Kint . В данном посте мы поговорим о плагине для WordPress. Бесплатный инструмент отладки под названием Kint может сделать нашу жизнь на много приятней.

Ранее я использовал плагин Otshelnik-fm-kint но так как с ним начались проблемы решил использовать плагин о котором пойдет речь в данном посте.

Прежде чем мы начнем: как насчет Xdebug?

Xdebug прекрасен, но это расширение PHP. У вас может не быть его в вашей php установке, и, возможно, вы не можете установить расширения PHP. В этих случаях, независимо от того, насколько это хорошо, вы не можете его использовать. До Kint я использовал так же и Xdebug, чтобы облегчить чтение моего экрана отладки . Оказывается, Xdebug предназначен для гораздо большего, и когда я начал экспериментировать с различными средами разработки (например, на серверах), я обнаружил, что он не всегда был доступен. Даже если бы это было так, мне пришлось настроить его так, как я к нему привык. В конце концов я обнаружил Kint, который для меня лучше переносим . Я могу просто добавить его на сайт или проект WordPress, с которым я работаю, вместо того, чтобы устанавливать его для самого PHP.

Как Kint влияет на мою отладку?

Kint добавляет новые функции в таблицу, которые вы можете использовать в сочетании с тем, что вы использовали ранее, или вместо него. Это не правильный отладчик в понимании высокого искуства программирования. Однако для нас, тех которые отлаживают этот конкретный способ, он легко адаптируется. Этот раздел не предназначен для копирования документации, поэтому я делюсь только тем, что лично использую.

// Код для отладки по умолчанию var_dump($post); // Код для отладки при помощи Kint d($post);

Сравните два способа, и должно быть ясно, какой из них лучше!

Пример отображения вывода дампа при помощи плагина Kint

Если вы используете последнюю версию, Kint обнаруживает некоторые типы данных и дополнительно улучшает их отображение. В следующем примере я просто выгружаю строку, закодированную в base64, и смотрю, насколько умным является Kint, когда он декодирует, обнаруживает и отображает определенные шаблоны вывода!

Пример отображения вывода дампа при помощи плагина Kint 2

Этот экземпляр Kint использует приятные цвета в оформлении вывода, поэтому все выглядит немного лучше, чем стандартный вывод var_dump.

Как я могу установить Kint вручную?

Способ установки Kint не требует усилий. Он поставляется в виде одного файла .phar ( PH P Ar chive), и вы можете добавить его в свой проект с помощью одной строки:

include 'kint.phar';

Если это сайт WordPress, то вы можете добавить его в WP-config.php файл и положить kint.phar файл рядом с ним. Таким образом, он будет доступен везде в WordPress.

Рекомендуемые дополнения

Прежде всего, мне нравится мой отладочный вывод на месте, и эта строка помогает НЕ собирать все в плавающую папку / панель внизу экрана:

Kint\Renderer\RichRenderer::$folder = false;

К этому моменту вы достигли вехи и уже намного лучше, чем раньше, в отношении отладки PHP. Если вы не хотите копать слишком глубоко, остановитесь! 🙂

Тематизация или изменение стиля

С этим из пути вы можете захотеть настроить внешний вид . Например, если размер шрифта слишком мал. Я попытался добавить тему (скин) следующим образом ... Согласно документации, чтобы изменить тему отображения, используйте:

Kint\Renderer\RichRenderer::$theme = 'aante-light.css';

Вы можете передать абсолютный путь к файлу CSS или использовать одну из встроенных тем.

Плагин Kint Debugger для WordPress

К счастью, другие разработчики создали бесплатный плагин WordPress, обертку для Kint . Это называется Kint Debugger . 95% веса этого плагина - это просто оригинальная версия Kint, так что вы не получите ничего лишнего. Ничего не добавлено в панель управления WordPress. Тем не менее, он улучшен некоторыми вспомогательными функциями, связанными с WordPress.

На момент написания статьи плагин содержал версию 1.x Kint. Это тот, который у меня был до того, как они представили однофайловую версию PHAR. Этот имеет Kint.class.php и не имеет проблем с пользовательским CSS. Кроме того, у него нет плавающей нижней панели по умолчанию для сбора и перемещения ваших выходов из встроенного в централизованное местоположение. Я считаю это плюсом. Для меня плагин Kint Debugger WordPress означает настоящую отладку с нулевой конфигурацией.

Вернуться к тематике Кинт

Я показываю способ, благодаря которому я использовал тему Kint, когда не-WordPress версия представляла собой набор файлов, а не один файл. Я создал копию уже существующего файла CSS в Kint-отладчик

kint-debugger\vendor\kint\view\compiled

firsh.css

Тогда единственная строка кода, которую вам нужно добавить в ваш WordPress , это:

Kint::$theme = 'firsh';

Я знаю, проблема с изменением плагина заключается в том, что при его обновлении этот пользовательский скин будет потерян. Но данное решение не берет никаких файлов за пределы этой папки. Вот почему:

$baseDir = KINT_DIR . 'view/compiled/';

if ( !is_readable( $cssFile = $baseDir . Kint::$theme . '.css' ) ) {
    $cssFile = $baseDir . 'original.css';
}

Недостатки

Никогда не забывайте удалять вызовы функций Kint при кодировании

 Новые функции отладки настолько коротки и просты, что их легко случайно оставить d(), но так же и легко найти. И все равно не забывайте удалять их.

Форматирование не всегда полезно

Когда вы просматриваете интерфейс в браузере, дополнительный стиль, несомненно, облегчает чтение . Но что, если вы проверяете ответы XHR ? Весь ад проваливается с ошибками «заголовки уже отправлены» и так далее. Причина в том, что для Kint нужны некоторые встроенные скрипты и стили для сопровождения вашего отладочного вывода. Например, хотя AJAX не обязательно нарушает авто сохранение сообщения, делать это есть не очень хорошей идеей. С другой стороны, в отличие от Xdebug, Kint не принимает нативные функции и не украшает их HTML. Вы можете использовать стандартные функции отладки в небезопасных var_dump("hello") (AJAX) и использовать дополнительные возможности Kint, когда они вам нужны для отладки по умолчанию.

Будете ли вы использовать Kint для отладки PHP?

Теперь, когда вы увидели, что есть способ сделать уродливые результаты отладки приятнее, ответьте на этот вопрос. Вы готовы сделать свою жизнь проще? Измените ли вы свое окружение приятными способами отладки, чтобы облегчить коинг в повседневной работе? Я, конечно, ответил ДА, когда узнал о Kint и сразу начал использовать его для отладки. Я надеюсь, что этот пост помог некоторым из вас.

Статья была переведена для блога TechBlog.SDStudio.top

Источник: letswp.io