Дебаггер для Yii 1.1 портированный из Yii 2

в 13:27, , рубрики: debug, extension, yii, yii2, метки: , , ,

Доброго времени суток, коллеги!

Недавно команда разработчиков фреймворка Yii 2 порадовала сообщество нативной дебаг-панелью. Важная особенность этого дебаггера в том, что он пишет историю, и дает возможность исследовать отладочную информацию от каждого запроса к yii-проекту. Это делает простым и приятным занятием отладку ajax-запросов, страниц с редиректами, рендеринг графических изображений и прочее.

Внешний вид и принцип использования одной из ранних версий дебаггера в Yii 2 можно увидеть на видеоролике Александра Макарова (SamDark):

Вдохновленный этим замечательным инструментом, я решил портировать его на Yii 1.1. Код, который в итоге получился, можно посмотреть на github.

Внешний вид дебаггера (в картинках)

Минимизированная панель с суммарной информацией на странице yii-проекта. Все блоки на панели кликабельны, ссылки ведут на страницы для детального просмотра отладочных данных.

Дебаггер для Yii 1.1 портированный из Yii 2

Страница Configuration.

Дебаггер для Yii 1.1 портированный из Yii 2

Выпадающий список со ссылками на 10 последних запросов.

Дебаггер для Yii 1.1 портированный из Yii 2

Страница «Request».

Дебаггер для Yii 1.1 портированный из Yii 2

Страница «Logs».

Дебаггер для Yii 1.1 портированный из Yii 2

Страница «Database» со списком sql-запросов и информацией по подключениям к БД.

Дебаггер для Yii 1.1 портированный из Yii 2

История.

Дебаггер для Yii 1.1 портированный из Yii 2

Установка и настройка

Чтобы установить дебаггер в свой проект необходимо скачать исходники и дополнить конфиг проекта необходимым минимумом настроек:

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

Источник


* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js