RSS   Twitter   Copiny   Copiny
Нашел ошибку? 

Выдели фрагмент текста с ошибкой или неточностью и нажми Ctrl+Enter!

JBDump — отладчик PHP, альтернатива для PHP print_r

JBDump — отладчик PHP, альтернатива для PHP print_r

JBDump — это легкий и простой инструмент для PHP программиста, который поможет в отладке и профилировании кода. В каком-то смысле это продолжение проекта http://krumo.sourceforge.net/, который к сожалению был успешно заброшен и не обновлялся с конца 2007 года.

Если вы до сих пор пользуетесь print_r, var_dump и понимаете, что это только замедляет скорость вашей разработки, то попробуйте JBDump.

Где взять последнюю версию?

Скачать архив с библиотекой можно по ссылкам внизу. Прикрепленые файлы это всегда последняя стабильная версия. Самую свежую версию можно скачать из публичнго репозитория SVN (ссылка ниже)

Список изменений JBDump

Версия 1.2.10

  • Улучшена совместимость с PHP 5.3.x+
  • Правильное определение AJAX запросов
  • Более верная установка видимости ошибок
  • Изменение отображения информации профайлера
  • Список всех методов для classInfo
  • Изменен вывод бектрейса
  • Инструмент для перекодирования ссылок
  • Передача дополнительных параметров в фукции лога и дампа
  • Верный бекстрейс для коротких функций-алиасов

Версия 1.2.6

  • Добавлено
    • + добавлена обработка PHP ошибок и исключений
    • + добавлен псевдотип строки:html
    • + подсветка вывода var_dump (экспериментально)
    • + дополнительно учитывается HTTP_X_REAL_IP при определении IP адреса клиента
    • + настройка context при обработке ошибок
    • + определение ajax запросов
    • + lite mode — легкий вывод без HTML кода, основан на print_r
    • + определение пустых значений в lite mode
    • + единый LiteDump шаблон
    • + тесты для ajax и lite mode
  • Исправлено
    • * изменена ссылка на проект
    • * htaccess, файл по умолчанию в директории явно считается index.php
    • * настройки по молчанию
    • * фикс шаблона демо для ИЕ, iframe не верно устанавливал высоту
    • * очень тщательная чистка кода, форматирование
    • * фиксы мелких багов

Версия 1.2.2

  • Добавлено
    • «свернутый» вывод для print_r и var_dump
    • псевдотип текста:php
  • Исправлено множество мелких багов

Версия 1.2.0

  • Первая публичная версия JBDump

Я нашел ошибку, куда сообщить?

Прикрепленные файлы:
JBDump — отладчик PHP, замена print_r
[version 1.2.10]
Объем: 37.35 KB; Тип: zip; Загрузок: 1678; в сутки: ~1; Обновлен: 04:38, 13 Февраля 2012;
Плагин для Joomla 1.7.x-2.5.x на базе JBDump v1.2.10
Объем: 17.71 KB; Тип: zip; Загрузок: 1227; в сутки: ~1; Обновлен: 04:38, 13 Февраля 2012;
SVN репозиторий проекта JBDump (только на чтение)
Хостинг: mysvn.ru, Url: https://mysvn.ru/smet.denis/JBDump/,
Смотрите также:
Комментарии (11) Добавить комментарий
  • Виталий
    Виталий
    07 Февраля 2013, 08:00
     ↑  0  ↓     ответ

    Очень удобное решение! Немного допилил и дополнительно использую в качестве парсера :)

    • smet.denis
      smet.denis (админ)
      07 Февраля 2013, 11:50
       ↑  0  ↓     ответ

      Хм... это отладчик, как его можно использовать в качестве парсера? поделитесь идеей?

  • ci4e
    ci4e
    13 Апреля 2013, 14:28
     ↑  0  ↓     ответ

    Отличная штука! Респект и уважуха автору!

    Однако...

    1) В моем понимании отладчик должен давать возможность пошагового исполнения и отслеживания значений любых переменных на каждом шаге. А это, по-моему, просто вариант отладочной печати с возможностями трассировки (что не умаляет значимости проекта!).

    2) Наткнулся на такую штуку: один и тот же вариант подключения jbdump (через include в отлаживаемый скрипт) в одних скриптах работает "на Ура!", а в других (в рамках одного сайта) - первый вызов выдает совершенно пустой блок... :( Поставь следом точно такой же вызов - отрабатывает нормально! Где искать причину?

    • smet.denis
      smet.denis (админ)
      16 Апреля 2013, 22:46
       ↑  0  ↓     ответ

      1. Отладчик - это инструмент, который позволяет избавляться "от лажи" или отлаживаться...)))) Значение слова довольно "резиновое" ;)

      2. Часто бывает так что сайт открывает внутренние буферы для перехвата вывода контента (функциями ob_start() и прочее...) Возможно вывод jbdump был перехвачен именно этими функциями. Попробуйте воспользоваться такой конструкцией

      while (ob_get_level()) {ob_end_clean();}

      • ci4e
        ci4e
        17 Апреля 2013, 10:45
         ↑  0  ↓     ответ

        Да вы, батенька, оказывается еще и лингвист! "Отлаживаться - избавляться от лажи" - это великолепно! Супер! Жаль только "наладчиков" - они, оказывается, "налаживают - добавляют лажи"... Надо будет им об этом сообщить. ;)

        По существу: Если я верно понял, буферизация в данном случае не при чем. Если бы дело было в этом, не выводилось бы вообще ничего. А у меня выводится типовой блок jbdump... (см. yadi.sk/d/g6WEaLsG46qPg ) :(

        • smet.denis
          smet.denis (админ)
          17 Апреля 2013, 10:51
           ↑  0  ↓     ответ

          Попробуйте использовать версию из репозитория (SVN), она немного свежее будет.

  • ci4e
    ci4e
    17 Апреля 2013, 10:52
     ↑  0  ↓     ответ

    спасибо, обязательно попробую! :)

  • ci4e
    ci4e
    17 Апреля 2013, 11:08
     ↑  0  ↓     ответ

    Можно ли перенаправить вывод jbdump в указанный файл, не исправляя init файл? Я так понял, что для этого надо использовать что-то вроде

    JBDump::i(array('log'=>array('path'=>'my_path','file'=>'my_filename'));

    или как-то иначе?

    • smet.denis
      smet.denis (админ)
      17 Апреля 2013, 18:57
       ↑  0  ↓     ответ

      То что вы написали - это просто укажет путь для логов. По умолчанию он там же где лежит класс (./logs/..).

      1. Чтобы писать в лог можно использовать спец метод jbdump::log($varName)

      2. Чтобы перенаправить вообще весь вывод, нужно изменить вот этот параметр sc.smetdenis.com/i7cbbc17464a8.png Т.е инициализация будет такой - JBDump::i(array('dump'=>array('render'=>'log')));

      Весь список параметров можно посмотреть в начале файла класса

      • ci4e
        ci4e
        17 Апреля 2013, 23:39
         ↑  0  ↓     ответ

        Большое спасибо!

        До первого пункта сам добрался, а вот второй - "не дошло"...

        Еще раз спасибо!

  • Олег
    Олег
    09 Октября 2013, 11:24
     ↑  0  ↓     ответ

    демо не работает!

Оставить комментарий




* обязательно для заполнения

1 введенный почтовый адрес используется только для обратной связи при ответах в комментариях и сервиса gravatar.com
.