Введение:
Это MU плагин для WordPress. Позволяет вам дебажить ваши php проекты используя библиотеку Kint
Почему не обычный WordPress плагин?
Предыстория такова:
Мне надоело дебажить через var_dump($var);
и print_r($var);
. Хотелось какого-то универсального и более гибкого решения. Смотрел в сторону Xdebug - но на данный момент мне он кажется избыточным. Так родилась функция vd($var);
- как аналог var_dump
и print_r
. Потом она немного расширилась - появился вывод с die;
, потом появилась для записи в логи сервера. Потом появилась только для вывода данных переменных и объектов видимых админу...
И свой велосипед всегда веселей. Так он поселился в файле functions.php активного ВП шаблона. Но иногда при тестировании я переключал шаблоны - получал конечно проблемы - функции то в других шаблонах нет (там другой functions.php).
Потом это переросло в небольшой ВП плагин - но и тут я иногда натыкался на грабли - плагин бывает отключается в процессе дебага и отладки...
Таким образом я решил оформить это дело в MU плагин - этот вид плагинов не отключается никогда.
Создал папку /wp-content/mu-plugins/
и в корень поместил файлы, а вордпресс автоматически его активирует и никогда не дает его отключить.
Красота.
Возможности:
- Простое использование
- Короткие и запоминающиеся функции
- Результаты дебага не увидит посторонний - если вы решили что-то посмотреть на рабочем сайте
- Возможность дебажить ajax в логи сервера
- Дебаг ajax-а WordPress и просмотр результата в вкладке "сеть" инструментов браузера
- Если область дебага в фронтенде маленькая - можно вывести результат в фиксированном окне за пределами области дебага
Внимание! Это MU-плагин для WordPress - поэтому его установка не обычна.
Установка:
1. Создайте каталог (если нету) mu-plugins
чтобы вышло /wp-content/mu-plugins/
2. Скачайте архив этого плагина, распакуйте архив на своем ПК и по FTP залейте туда файл `otshelnik-fm-kint.php` и папку `/ot-fm-kint-resource/`
Получится такая структура:
/wp-content/mu-plugins/ot-fm-kint-resource/ /wp-content/mu-plugins/otshelnik-fm-kint.php
3. Настройки в файле otshelnik-fm-kint.php. Если будете использовать функции kint - раскомментируйте 33 строку. Если только мои - пропускаем этот шаг.
4. Всё. Работаем и дебажим
Обновление:
MU плагины не обновляются средствами вордпресс движка - т.к. они начинают работу раньше этих функций обновлений.
Поэтому за обновлениями следите или на гите или в на странице CodeSeller
vd($var, 1);
- (мой var_dump) - удобный дебаг вместо print_r() или var_dump().
2-й аргумент - необязательный параметр. Если нужно вывести в фиксированном окне слева сверху.
Полезно для "узких" мест вывода. Бесполезно для циклов. Фиксированный блок можно скрывать (спойлер на details теге)
vdd($var);
- аналог vd, но с die; на конце. Когда нужно остановить дальнейшую работу
vda($var, 1);
- (var_dump admin) - вывод на экран для админа
2-й аргумент - необязательный параметр. Если нужно вывести в фиксированном окне слева сверху.
Полезно для "узких" мест вывода. Бесполезно для циклов. Фиксированный блок можно скрывать (спойлер на details теге)
vdl($var);
- (var_dump log) - пишем в логи сервера. Когда выводить на экран нам нельзя (или это дебаг ajax запроса например).
vdx($var);
- (var_dump XHR) - для дебага ajax (смотри приходящие данные POST в вкладке XHR браузера) Наглядно: https://yadi.sk/i/CPGuKgwmSQTEKg
доступно, если выполнили пункт 3 "Настроек"
d($var);
- распечатает переменную
ddd($var);
- распечатает ее и остановит выполнение. Эквивалент `d();die;`
!d($var);
- сразу отобразит объект/переменную в раскрытом виде
d(1);
- сделает трассировку стека вызовов
s($var);
- выведет переменную в печатном виде
sd($var);
- выведет переменную в печатном виде и остановит. Эквивалент `s();die;`
p.s. Подробно описано на странице библиотеки Kint
v2.0.0
* добавлена функция vdx() - полезный помощник для простого дебага ajax в инструментах браузера "сеть"
Часто функция vdl() отнимала время - надо переключаться после запроса в логи сервера - получать их и высматривать там данные, а тут все происходит быстро
В панели разработчика браузера в post ответе (сеть - фильтр по XHR) приходят данные и их тип
* Kint обновлен до версии 3.0, но по дефолту теперь отключен. За полтора года я им воспользовался пару раз. Поэтому вначале он отключен.
* Функции vd() и vda() принимают второй аргумент. Передайте туда 1 чтобы отобразить результат в фиксированном окне слева сверху.
Полезно для "узких" мест вывода. Бесполезно для циклов. Фиксированный блок можно скрывать (спойлер на details теге)
v1.0.0
* Release
* Поддержка осуществляется в рамках текущего функционала дополнения
* При возникновении проблемы, создайте соотвествующую тему на форуме поддержки товара
* Если вам нужна доработка под ваши нужды - вы можете обратиться ко мне в ЛС с техзаданием на платную доработку.
Все мои работы опубликованы на моём сайте и в каталоге магазина CodeSeller.ru
Пока ни одного комментария не было оставлено.