CodeIgniter Debug Toolbar

    CodeIgniter Debug Toolbar
    Многие видели девелоперский тулбар для фреймворка Kohana (слизанный, в свою очередь, с Symfony), который недавно выкладывали на хабре. Мне он очень понравился — захотелось поиметь такой и для себя.

    Немножко поколдовав, получилось нечто похожее…

    Проблемы

    Есть и некоторые проблемы, связанные с недостаточным стандартным функционалом Codeigniter'а — например, пришлось расширять библиотеки Benchmark и Log — поэтому, если вы их переделывали для своего проекта, то нужно быть очень осторожным при установке — не перезаписать свои файлы и добить функционал вручную.
    К сожалению, ввиду того, что модифицировать DB библиотеки нельзя — не получается логить количество задействованных рядов при запросе к БД.

    Собственно, делалось оно исключительно для личных нужд. Да и с CI я работаю меньше недели (последний год все больше с C# на ASP.NET), так что не серчайте, если тулбар будет глючить и ругаться.

    Ловите: CodeIgniter Developer Toolbar v0.1

    Модуль для Kohana

    Note: Если у вас установлен xdebug, в табе «vars & config» будет выводиться красиво раскрашенный дамп.

    Опишу еще, пожалуй, процесс установки


    1. Скопируйте нутренности папки 'application' в вашу папку application (осторожно!)
    2. Скопируйте картинки из папки 'images' куда-то в веб-рут, например в /images (потом можно будет настроить путь к ним в конфиге)
    3. Включите хуки в конфиге application/config/config.php
    4. Отредактируйте application/config/hooks.php — добавьте:
    $hook['display_override'] = array(
    'class' => 'DebugToolbar',
    'function' => 'render',
    'filename' => 'DebugToolbar.php',
    'filepath' => 'hooks'
    );

    5. Настройте тулбар с помощью файла application/config/debug_toolbar.php

    И это, об ошибках пишите — будем оперативно исправлять…
    Поделиться публикацией
    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее
    Реклама
    Комментарии 40
    • +2
      Что сказать…
      Спасибо!
      • +1
        Когда про Kohana Tool Bar читал, подумал: «кх-м… мне бы такую штуку под CI!» Спасибо.
        • +1
          Единственное обидно за разработчиков Symfony, которые давно придумали такой тулбар, реализовали и сделали частью фреймворка, а теперь слизанная у них идея начала копироваться как «дебаг-бар как в кохане». Мне бы, честно, было не приятно. Хотя бы из-за названия.
          • 0
            Что уж говорить… ох как обидно… даже иконки и css поленились изменить!
            • +7
              А что тут обижаться, если иконки используются из общедоступных бесплатных наборов?
            • +1
              Кстати да, спасибо, что напомнили — я изначально хотел про это написать, но как-то пропустил… Извиняюсь.
              • 0
                Спасибо, что добавили в пост. Теперь я доволен :)
              • +4
                это OpenSource, %username%
                • +3
                  Учим матчасть. Этот тулбар придумали не разработчики Symfony. Он был еще до того, как появился сам фреймворк.
                • 0
                  Спасибо, отличная штука
                  • 0
                    Урааа, конец всяким die($query)…
                    • +2
                      а как же firebug? :)
                      • +1
                        причем файрбаг отлично подключается как в CI, так и в Kohana
                    • 0
                      И ещё, логи в файл ведутся?
                      • 0
                        Логи в файл изначально и пишутся. Зри в application/config/config.php
                      • 0
                        Если нет, давайте я допишу?
                        • 0
                          Спасибо, поставил, ошибка пока не замечено.
                          • 0
                            А как бы лучше сделать так, чтобы на живом проекте тулбар показывался только для указанных юзеров?
                            • +1
                              проверять id пользователя в DebugToolbar::render?
                            • 0
                              Было бы неплохо перевести это, выложить в Wiki CI и анонсировать на форуме. Я уже вижу отзывы awesoma, good contribution и другие восторги :)
                              • 0
                                Возможно, позднее. Я хочу эту штуку немного переделать…
                              • 0
                                поставил, вроде не глючит =) Спасибо.
                                • +1
                                  Этакий улучшенный вариант профайлера, который, кстати, в себе содержит всю необходимую для этого тулбара информацию, такую как количество выполненных запросов, время их выполнения и сами тексты запросов и т.д., но скорее всего не выдаст логов
                                  ссылка на русскую страницу документации
                                  • 0
                                    Очень интересная штука, спасибо.
                                    • 0
                                      Пользуюсь со вчерашнего дня и хочу Вам сказать огромное спасибо!!!
                                      Невероятно полезная вещь!
                                      • 0
                                        может быть я один тут такой с кривыми руками — сделал все как описано
                                        но, к сожалению, ничего не появилось
                                        CI 1.7.1
                                        в логах пишет

                                        DEBUG — 2009-03-29 01:46:59 --> Config file loaded: config/debug_toolbar.php
                                        DEBUG — 2009-03-29 01:46:59 --> Helper loaded: number_helper
                                        DEBUG — 2009-03-29 01:46:59 --> Helper loaded: path_helper
                                        DEBUG — 2009-03-29 01:46:59 --> Helper loaded: file_helper
                                        DEBUG — 2009-03-29 01:46:59 --> Final output sent to browser
                                        DEBUG — 2009-03-29 01:46:59 --> Total execution time: 1.4070

                                        подскажите, в какую сторону копнуть?
                                        • 0
                                          Похоже, что хуки не хукаются… проверьте, правильно ли сделаны шаги 3 и 4

                                          3. Включите хуки в конфиге (application/config/config.php)

                                          4. Отредактируйте application/config/hooks.php — добавьте:
                                          $hook['display_override'] = array(
                                              'class' => 'DebugToolbar',
                                              'function' => 'render',
                                              'filename' => 'DebugToolbar.php',
                                              'filepath' => 'hooks'
                                          );
                                          • 0
                                            перепроверял несколько раз ((
                                            3. стоит $config['enable_hooks'] = TRUE;
                                            4. добавлено
                                        • 0
                                          разобрался
                                          проблема была, что все страницы грузились через функцию, которая вначале грузила view в переменную и отображала через echo
                                          убрал — все стало ок
                                          полезная tool, спасиб
                                        • 0
                                          Крутая вещь! Респект!
                                          • 0
                                            А чем не нравится стандартный профайлер СИ?

                                            $this->output->enable_profiler(true);

                                            и готово! :)
                                            • 0
                                              Вот удобная штучка! Большое спасибо!
                                              • 0
                                                Чувак, я два часа потратил на то, чтобы понять, что вкладка SESSION у тебя есть, но не обрабатывается.
                                                • 0
                                                  Во вкладке SESSION у меня содержимое глобальной переменной $_SESSION.
                                                • 0
                                                  Боюсь вас огорчить но Kohana был создан как ветвь PHP фрэймворка CodeIgniter под именем Blue Flame.
                                                  ru.wikipedia.org/wiki/Kohana
                                                  • 0
                                                    Тулбар слизан, а не фреймворк :)
                                                  • 0
                                                    На CI 2.1.0 работает?
                                                    • 0
                                                      Присоединяюсь к вопросу. И будет ли работа с HMVC расширением?
                                                    • 0
                                                      Ссылка не рабочая((

                                                      Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.