Расширение Панели Инструментов Yii-Debug-Toolbar

Добрый день, жители Хабры.

Сегодня мне бы хотелось рассказать об одном замечательном расширении yii-debug-toolbar от Сергея Малышева.



Кратко

Это расширение добавляет очень красивую и удобную панель отладки.

Панель инструментов yii-debug-toolbar имеет 5 вкладок:

  • Сервер: отображает информацию из phpinfo();
  • Время: отображает время загрузки страницы, объем используемой памяти и размер сеанса;
  • Globals: отображает дампы глобальных переменных ($_SERVER, $_COOKIE, $_SESSION, $_POST, $_GET, $_FILES);
  • Настройки: отображает конфиг приложения (все параметры, компоненты и глобальные настройки);
  • SQL: отображает информацию о SQL-сервере и логи SQL-запросов (сам запрос и время выполнения);
  • Ведение журнала: отображает информацию журнала (отправленную через Yii::log).



Расширение панели инструментов Yii-debug-toolbar



Монтаж

Итак, чтобы установить такую панель на свой тестовый сервер, вам нужно будет скачать исходный код последней версии отсюда.

www.yiiframework.com/extension/yii-debug-toolbar .

Распакуйте архив в папку /protected/extensions. Потом в конфиге прописываем это в лог компоненте

  
   

#.

'log'=>array( 'class'=>'CLogRouter', 'enabled'=>YII_DEBUG, 'routes'=>array( #.

array( 'class'=>'CFileLogRoute', 'levels'=>'error, warning', ), array( 'class'=>'application.extensions.yii-debug-toolbar.YiiDebugToolbarRoute', 'ipFilters'=>array('127.0.0.1','192.168.1.215'), ), ), ), #.



После чего справа вверху должен появиться синий жук (аля поджигатель).

Если он у вас есть, значит, вы все сделали правильно.



Настройки

Компонент наследует все параметры от CLogRouter. Но у него также есть один свой параметр: ipFilters. Это массив разрешенных IP-адресов.

Если вы не хотите случайно загрузить копию с отладочной панелью в производство, то введите туда свой IP-адрес, и панель будет доступна только с вашего компьютера.

Параметры, унаследованные от CLogRouter:

  • bool включено: если false, то отладка отключена (я обычно ставлю туда константу YII_DEBUG, тогда можно быстро и глобально отключить отладку);
  • строковые уровни: список уровней журналирования, разделенных запятыми или пробелами;
  • строковые категории: список категорий журналирования, разделенных запятыми или пробелами;
  • фильтр массива: дополнительные фильтры (например, CLogFilter);
  • массив журналов: журналы, собранные во время выполнения программы.



На десерт. Как создать собственную панель в панели инструментов yii-debug-toolbar?

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

Попробуем создать панель под названием «Тест».

Для этого вам нужно добавить новый файл YiiDebugToolbarPanelTest.php в папку /protected/extensions/yii-debug-toolbar/panels и создать в нем новый класс YiiDebugToolbarPanelTest, который наследуется от YiiDebugToolbarPanel. Этот класс должен реализовать 5 методов:

  • getMenuTitle: метод возвращает заголовок вкладки на боковой панели;
  • getMenuSubTitle: метод возвращает описание вкладки на боковой панели;
  • getTitle: метод возвращает заголовок вкладки непосредственно внутри вкладки (вверху, на желтой полосе);
  • getSubTitle: метод возвращает описание вкладки непосредственно внутри вкладки (вверху, на желтой полосе);
  • запустить: отображает содержимое вкладки.

И добавьте вкладку в свойство $_panels класса YiiDebugToolbar (/protected/extensions/yii-debug-toolbar/YiiDebugToolbar.php).



class YiiDebugToolbarPanelTest extends YiiDebugToolbarPanel{ function getMenuTitle(){ return 'Test'; } function getMenuSubTitle(){ return 'subtest'; } function getTitle(){ return 'TEST v1.0'; } function getSubTitle(){ return 'Hello Vasya'; } function run(){ echo '<h4>'.

self::getSubTitle().

'</h4>'; echo rand(); } }

Результат:

Расширение панели инструментов Yii-debug-toolbar

Если кому интересно, в следующей статье могу рассказать, как написать свой логгер.

С уважением, Роман.

Теги: #Yii #расширение #отладка #Yii

Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.