Доброго времени суток, коллеги!
Недавно команда разработчиков фреймворка Yii 2 порадовала сообщество нативной дебаг-панелью. Важная особенность этого дебаггера в том, что он пишет историю, и дает возможность исследовать отладочную информацию от каждого запроса к yii-проекту. Это делает простым и приятным занятием отладку ajax-запросов, страниц с редиректами, рендеринг графических изображений и прочее.
Внешний вид и принцип использования одной из ранних версий дебаггера в Yii 2 можно увидеть на видеоролике Александра Макарова (SamDark):
Вдохновленный этим замечательным инструментом, я решил портировать его на Yii 1.1. Код, который в итоге получился, можно посмотреть на github.
Страница Configuration.
Выпадающий список со ссылками на 10 последних запросов.
Страница «Request».
Страница «Logs».
Страница «Database» со списком sql-запросов и информацией по подключениям к БД.
История.
Установка и настройка
Чтобы установить дебаггер в свой проект необходимо скачать исходники и дополнить конфиг проекта необходимым минимумом настроек:
return array(
'preload' => array(
'debug',
),
'components' => array(
'debug' => array(
'class' => 'ext.yii2-debug.Yii2Debug',
),
'db' => array(
'enableProfiling' => true,
'enableParamLogging' => true,
),
),
);
Для более тонкой настройки компонента Yii2Debug доступны следующие свойства:
enabled
— включение/выключение дебаггера.allowedIPs
— список ip, которым разрешен доступ к дебаггеру.logPath
— путь для записи логов.historySize
— максимальное кол-во записанных логов. Более ранние логи будут удаляться.highlightCode
— подсветка кода. Подсвечиваются sql-запросы и php-массивы данных.panels
— массив подключенных к дебаггеру панелей.moduleId
— ID модуля для просмотра ранее сохраненных данных.
В заключение хотелось бы добавить что, дебаггер можно дополнять своими панелями с отладочными данными. Для каждой такой панели необходимо: разработать свой класс унаследовав его от Yii2DebugPanel, и добавить его в массив panels компонента Yii2Debug.
Спасибо за внимание. Надеюсь это расширение сделает вашу работу с Yii еще более комфортной. Буду благодарен за багрепорты и толковые идеи. Отдельное спасибо команде разработчиков Yii за их труды и их светлые головы.
Код на github
Обсуждение на yiiframework.ru
Код нативного дебаггера Yii 2 на github
Автор: Zhuravljov