Как стать автором
Обновить

Комментарии 46

отличная вещь
у вас есть в дальнейшем в планах сделать и для фреймворка Yii?
Не он так другой, в yii поболее информации можно вывести через LogRoute :) И цепляться автоматически будет в лайоут.
Всё хочу попробовать Yii, но никак не попадается такой проект на котором можно его потестить.
Как только подвернёться, попробую портировать.
Код еще не смотрел, но то, что Вы не следуете Kohana Conventions and Coding Style — это плохо. Вижу, Вы и сами в курсе, но быть может пара-тройка таких комментариев подтолкнет Вас к тому, чтобы придерживаться соглашений впоследствии ;)
А так модуль полезный, только добавьте еще в статью информацию о совместимости с версиями фреймворка, если есть ограничения (хотя если нет — тоже скажите об этом)
Понимаю что соответствовать стилю надо, но если данный модуль особо никому не понадобится, то и тратить время на это не хочется.
Ежели им будут пользоваться, то и код приведу к требуемому стилю и userguide организую)
На счет поддерживаемой версии фреймворка.
На панели слева (первый скриншот), как раз и указана версия самого модуля + версия Kohana для которой он написан.
Модуль нужен :) И, когда будете форматировать код, замените пробелы на табы.
Возможно я чего-то не понимаю, но у них очень странные стандарты. Всю жизнь писал if (TRUE == $var), просто чтобы сразу получить ошибку, если вдруг забуду второй знак равенства, и тут какой-то фреймворк заставляет меня писать if ($var == TRUE), аргументируя это тем, что мы читаем слева направо. Писать AND вместо && тоже как-то «необычно».

А автору огромное спасибо за модуль.
Просто так естественнее, мы говорим «если это — правда», а не «если правда — это». Кстати, я к AND вместо && тоже долго не мог привыкнуть, но в итоге код читать легче. Там ведь вся соль этого стиля, чтобы читалось буквально «как говорится», просто и естественно.
Небольшой баг-репорт. Если модуль рендерится (<?php ProfilerToolbar::render(true); ?>) после инклуда скриптов гуглмапы (echo html::script('http://maps.google.com/maps/api/js?v=3.5&sensor=true');) — мапа не отображается (без каких-либо ошибок). Если перед — все отлично.

А так — симпатично. Спасибо. :)
Спасибо, учту в следующей версии.
Фреймворк очень интересный — но хабараэфект не держит =)
А почему бы не сделать решение автономным? Т.е. не зависящим от фреймворка? Чтобы каждый мог взять и «допилить» под любимый фреймворк/сайт, сам недавно думал написать подобное.
Спасибо конечно, но это не совсем то, что я ожидал. Во первых Copy the css/js/images folders of /your_pear_root/data/PHP_Debug in your project directory — это мне не нравится. Думаю что подобного рода плагины должны быть единоличны, сразу с css/js и как можно меньше внешних файлов. Можно обойтись и вообще без картинок. Ну и эта PEAR-установка, тоже можно обойтись без нее, имхо много лишнего, всё таки наверное напишу свой велосипед.
если что могу быть тестером :)
Идея хорошая, но по-моему утопичная. Я лично не вижу как такое можно реализовать.
Если только сделать шаблон html+css+js, а все данные каждый будет собирать сам, но это можно и из ProfilerToolbar шаблон выдернуть.
Dependency Injection?
Для Zend Framework помнится был аналогичный тулбар: habrahabr.ru/blogs/zend_framework/62023/
Правда по моему начиная с какой-то версии его развитие приостановилось
Выглядит удобно. Я как раз и попробую на днях, как раз с коханой вожусь.
Единственное, не очень понял с драйвером БД — только мускуль? ПДО отвалится?
А, хотел же еще предложение предложить — добавить в конфиг флаг на окружение. Типа ставишь true, если вывод нужен только при Kohana::DEVELOPMENT === Kohana::$environment — чтобы во вьюхах и т.д. с условиями не заморачиваться.
Думаю добавлять это в репозиторий смысла нет. Я, например, панель и в продакшене какое-то время держу включенной, только она рендерится если юзер авторизован под admin'ом.
А если вам так удобней, то копируйте конфиг в /applications/config/profilertoolbar.php и извращайтесь как угодно =)
А там одним конфигом не отделаешься — флаг в render обрабатывать надо.
Тут вообще можно проще поступить:
 ProfilerToolbar::render(Kohana::DEVELOPMENT === Kohana::$environment); 

:)
Да, тоже вариант, но вообще по хорошему в продакшене этот модуль надо вообще отключать.
Но если его отключить, то ваш код вызовет ошибку и по-этому правильней будет:
<?php if(Kohana::$environment === Kohana::DEVELOPMENT) ProfilerToolbar::render(true);?>

А если лениво постоянно удалять его из bootstrap.php то можно сделать так:
$modules = array();
if(Kohana::$environment === Kohana::DEVELOPMENT){
  $modules['profilertoolbar'] = MODPATH.'profilertoolbar';
}
$modules['cache']       = MODPATH.'cache';
$modules['database'] = MODPATH.'database';
...
Kohana::modules($modules);
Если убирать из бутстрапа, то и во вьюхах/контроллерах такое-же условие нужно. Наверное лучше просто в render() проверку аргумента сделать сверху, а не перед выводом. Тогда только Kohana::find_file() поработает, а методы модуля не дернутся — все экономичней будет, бутстрап можно будет и не трогать.
Ну это масло маслянное получится. Там уже есть проверка.
if(!self::cfg('html.enabled')) return '';


Для вашей задачи надо всего лишь в конфиге написать:
  'html'=>array(
    'enabled' => Kohana::$environment === Kohana::DEVELOPMENT, 
    ...
  ),
  'firebug'=>array(
    'enabled' => Kohana::$environment === Kohana::DEVELOPMENT,
    ...
А, ну да, так лучше всего будет.
Я PDO не использую и забыл про него =)
Добавлю в следующей версии.
Спасибо, как будет время, портирую на yii. Вы не против?
Я только за! Сообщите как сделаете, размещу информацию на странице модуля
Ок, это только как будет время, но, уже есть пару идей по улучшению… В частности, не трогать главный шаблон и так далее…
А почему Вы не хотите помогать развивать существующий, а решили сделать свой собственный?
Потому что мне в существующем не нравится всё, от дизайна до функционала.
Не могу же я отправить Pull Request на замену 100% кода =)
Видел на официальном форуме, не знал, что это наши люди сделали )) ИМХО, это немного другой подход к DebugToolbar, В первую очередь из-за внесения изменений в Cache и Database. Правильно сделали, что оформили как самостоятельный проект.
Спасибо! Как раз делаю в свободное от работы время на кохане небольшой проектик.
DebugToolbar также не устроил, а велосипеды писать не нашлось времени.
Если не трудно, опишите недостатки KDT. Может, удастся его немного улучшить в свободное время ;)
Как уже отметил автор, отладка Ajax-запросов и поддержка Firebug.
Плюс, прозрачно описана отладка собственных переменных.
НЛО прилетело и опубликовало эту надпись здесь
Частично дублируется функционал стандартного профайлера

Это плохо? В стандартном профайлере информация выводится в неудобочитаемом виде. Я же сделал её приятной для восприятия и не портящей дизайн сайта + дополнительные плюшки.
НЛО прилетело и опубликовало эту надпись здесь
Спасибо большое! Уже начали использовать в своем проекте
Модуль хороший, молодец! Но как обычно есть дёготь, так пришлось что надо было заюзать транзакции. Но увы сами запросы транзакции не показываются, раз ты уже переопределил класс БД, так может подправишь этот недочет?

Хорошо, потестирую в ближайшее время.
Каким драйвером пользуетесь: mysql, pdo, ...?

p.s.
Если есть какие-то предложения по улучшению или нашли баги, то пишите лучше в Issue на github.com. Там удобней подобные вопросы решать.
Либо на форум kohana в тему ProfilerToolbar for kohana 3.2
окей, опишу проблему на гитхабе.
Уже вышла Кохана 3.3, будите допиливать свою тулзу под эту версию? Я сам поставил, все завелось, но есть один минус, когда возникает ошибка, чтобы её увидеть приходиться отключать ваш модуль.
Да, буду. Сейчас времени не очень много, но в течении месяца точно сделаю.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации