Comments 47
Красивая? Вы лучше посмотрите красота какая для ZendFramework — code.google.com/p/zfdebug/
как раз сегодня наткнулся на подобную реализацию
www.yiiframework.com/extension/yiidebugtb
но yii-debug-toolbar мне нравится больше
www.yiiframework.com/extension/yiidebugtb
но yii-debug-toolbar мне нравится больше
Ага, в Kohana такую же сделали — удобная весчь.
Мне одному это напоминает django-debug-toolbar ???
А еще рекомендую xdebug у него вывод тоже очень информативен и есть куча всяких дополнительных возможностей.
Не нашел расширения для Yii. На досуге попробую прикрутить. Спасибо за наводку.
Не нужны никакие расширения Yii, это расширение PHP, которое для своей работы ничего не требует от php-кода и является полноценным дебаггером (интерфейс для отладки через xdebug есть во многих IDE'шках).
Я понимаю, что это самостоятельный продукт. Но нужно его же интегрировать в ядро. А для этого нужно расширять CLogRouter с функциями xdebug
Не нужно, xdebug не выполняет функции логирования, соответственно CLogRouter здесь вообще не при делах, разве что можно вывести служебную информацию типа отправленных хедеров, списка ошибок, использования памяти(а это уже вторичный функционал).
С помощью xdebug вы можете к примеру задавать через ide'шку точки останова, где выполнение php кода будет останавливаться и через ту же ide смотреть значения нужных вам переменных, выполнять код пошагово, причем можно даже на удаленном сервере.
Это основное назначение. И я здесь не вижу необходимости и способов интеграции с фреймворком, кроме как вывести разного рода мелочи типа использования памяти.
С помощью xdebug вы можете к примеру задавать через ide'шку точки останова, где выполнение php кода будет останавливаться и через ту же ide смотреть значения нужных вам переменных, выполнять код пошагово, причем можно даже на удаленном сервере.
Это основное назначение. И я здесь не вижу необходимости и способов интеграции с фреймворком, кроме как вывести разного рода мелочи типа использования памяти.
Я Вас понял. Просто не работал с это библиотекой и не знаю её принципов. Посмотрю на досуге.
Вы не правы. У xdebug очень богатый функционал. Который можно поделить на 3 части.
1. Удаленная отладка — это то про что вы говорите.
2. Весьма навороченный профайлер (собранный лог можно анализировать в специальных программах).
3. Более информативный вывод ошибок (то о чем в посте). Вывод можно настраивать (куча всяких настроек).
Но я наверняка уверен, что интегрировав в Yii можно будет добиться еще больших результатов.
1. Удаленная отладка — это то про что вы говорите.
2. Весьма навороченный профайлер (собранный лог можно анализировать в специальных программах).
3. Более информативный вывод ошибок (то о чем в посте). Вывод можно настраивать (куча всяких настроек).
Но я наверняка уверен, что интегрировав в Yii можно будет добиться еще больших результатов.
Это вы сами закастомайзили дизайн yii-debug-toolbar'а или он такой в новых версиях? Неплохо выглядит.
Мне вот не хватает возможности включать/выключать тулбар get-переменной, которая потом сохраняется в сессии, надо будет как-то набросать такой костылик.
Еще очень кстати была бы вкладочка с переменными, которые передаются во вьюшки, это правда придется в рендерер внедряться, но если это получится сделать к примеру миксином, который через конфиг можно будет присобачить к любому рендереру — было бы чудесно. (Может такое уже есть, тогда делитесь ссылкой)
Мне вот не хватает возможности включать/выключать тулбар get-переменной, которая потом сохраняется в сессии, надо будет как-то набросать такой костылик.
Еще очень кстати была бы вкладочка с переменными, которые передаются во вьюшки, это правда придется в рендерер внедряться, но если это получится сделать к примеру миксином, который через конфиг можно будет присобачить к любому рендереру — было бы чудесно. (Может такое уже есть, тогда делитесь ссылкой)
Извиняюсь, насчет дизайна панельки — все ясно, я перепутал с этой штукой, которую и использую в своих проектах.
Кстати, можно было бы сравнить эти две панельки, интересно, у какой из них больше преимуществ.
Кстати, можно было бы сравнить эти две панельки, интересно, у какой из них больше преимуществ.
Сегодня утром ставил yiidebugtb и моё личное мнение — сыровато.
yii-debug-toolbar более информативен и красив.
yii-debug-toolbar более информативен и красив.
Вот на выходных «допилил». Появилась еще одна панель которая выводит информацию о всех отрендеренныъ вьюшках, дамп переданных во вью данных и состояния контроллера(ов)/виджетов на момент рендеринга вьюшек. Теперь бы отзывы от общественности получить )
Раз дело зашло об инструментах для отладки под Yii, могу еще посоветовать www.yiiframework.com/extension/php-console/ для тех, кто использует Chrome (расширение для работы с phpConsole, аналог FirePhp, отправляет всю отладочную информацию в хедерах)
Спасибо всем за отзывы, критику и предложения. Ввиду дефицита времени в данный момент, инструмент получился достаточно скудный по функционалу, но в ближайшее время я планирую возобновить работу и добавить массу полезных вещей. Если у вас есть какие то идеи по улучшению этого инструмента — размещайте на GitHub, по мере возможности буду реализовывать.
Почему-то sql запросы не отображаются. Я делаю через CActiveDataProvider
В компонент db нужно добавить параметр enableProfiling = true
Там в ссылке на расширение в каталоге расширений Yii закралась ошибка — лишняя точка в линке. Поэтому ссылка не работает. Подправьте пожалуйста.
Очень мешает тот факт, что расширение не работает, когда на странице есть JS ошибки.
yiidebugtb в таких случаях продолжает работать.
yiidebugtb в таких случаях продолжает работать.
Если драйвер БД dblib, то упадет по эксепшену при попытке взять аттрибуты соединения, т.к. драйвер не поддерживает эту функцию. Это файл yii-debug-toolbar/panels/YiiDebugToolbarPanelSql.php строка 201. Предлагаю либо там добавить проверку на
'dblib' !== $connection->driverName
или обернуть все это дело в try{}catchА можно по аналогии с ipFilter добавить фильтр по юзерам?
Отличная панелька! Спасибо за ваш труд)
C yiilite не работает…
бывает что расширение подглючивает, и он выводит только линк для показа debug-toolbar, но самого тулбара так и не выводит.
для этого небольшой фикс в YiiDebugToolbarRoute.php:
для этого небольшой фикс в YiiDebugToolbarRoute.php:
public function collectLogs($logger, $processLogs=false)
{
$startEndTime = $this->_endTime;
parent::collectLogs($logger, $processLogs);
if ($this->_endTime == $startEndTime) {
$this->processLogs(null);
}
}
protected function processLogs($logs)
{
$this->_endTime = microtime(true);
// disable log route based on white list
$this->enabled = $this->enabled && $this->checkContentTypeWhitelist();
$this->enabled && $this->getToolbarWidget()->run();
}
Если отладка производится на компьютере с динамическим IP, то удобно в конфигурации прописать так:
Или выбрать любого другого провайдера предоставляющего услугу динамической привязки. Выбор последнего у меня обусловлен только тем что его поддерживаем мой модем.
Единственное замечание если в настройках прописана строка константа с IP, то отключение YiiDebugToolbar можно делать только через 'enabled'=>YII_DEBUG, в случае же с gethostbyname лучше строку все же комментировать так же.
'ipFilters'=>array(
gethostbyname('XXX.dyndns-ip.com'),
),
Или выбрать любого другого провайдера предоставляющего услугу динамической привязки. Выбор последнего у меня обусловлен только тем что его поддерживаем мой модем.
Единственное замечание если в настройках прописана строка константа с IP, то отключение YiiDebugToolbar можно делать только через 'enabled'=>YII_DEBUG, в случае же с gethostbyname лучше строку все же комментировать так же.
Меня вот что-то смущает один момент: а на продакшене 'enabled'=>YII_DEBUG же будет в false установлено и логирования вообще всего не будет. Это же ни есть хорошо?
На продакшене лучше использовать только нативное логирование пхп и только критических ошибок, дабы не нагружать основной процесс. Логирование на уровне фремворка включается только на dev и demo площадках.
Sign up to leave a comment.
Расширение yii-debug-toolbar