Пользователь
0,0
рейтинг
25 марта 2009 в 13:24

Разработка → 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

И это, об ошибках пишите — будем оперативно исправлять…
quark @quark
карма
13,7
рейтинг 0,0

Самое читаемое Разработка

Комментарии (39)

  • +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
    Крутая вещь! Респект!
  • 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 расширением?

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