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

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

Отладка сайта с помощью JFirePHP

удобно, тихо и безопасно

Отладка сайта с помощью JFirePHP

Отладка PHP-кода — занятие не из легких, особенно если мы имеем дело с AJAX, сложным выводом XML, или с индивидуальными тонкостями расширения, когда «лишний раз» не обновишь страницу.

В таких случаях приходится изобретать велосипеды, особенно для таких «не простых» движков как Joomla. Предлагаем вам плагин, который в разы упростит жизнь любому программисту, и не только для Joomla ;)

a

Что необходимо чтобы воспользоваться удобствами плагина FirePHP

  • Mozila FireFox - большая часть web-разработчиков пользуется этим браузером из-за расширяемости своими дополнениями и скоростью работы.
  • FireBug - дополнение FireFox, упрощает жизнь многим людям при отладке html, css и javascript кода.
  • FirePHP - плагин к FireBug, с которым может работать библиотека FirePHP
  • Joomla FirePHP - плагин к Joomla CMS (работает только с версией 1.5.x и выше)

Не смотря на то что список требований у это плагина обширный - практика показывает что это того стоит. Теперь вы сможете отслеживать изменения любых переменных в коде и при этом вывод не будет на экране.

Примеры использования в коде

// дамп любой переменной
fb( $this );

// возможность вывода дополнительных системных сообщений
FB::log( 'Log message' );
FB::info( 'Info message' );
FB::warn( 'Warn message' );
FB::error( 'Error message' );

// поддержка кирилицы и кодировки UTF-8
FB::info( 'Русский язык (кирилица)' );

fb::group('Группа №1');
fb(array('id' => 10, 'parent' => 20));
fb::groupEnd();

fb::group('Группа №2');
fb(array('id' => 10, 'parent' => 20), 'Массив');
fb(array('id' => 10, 'parent' => 20), 'Еще массив');
fb($this, 'this основного шаблона');
fb::groupEnd();

fb::trace('трассировка');

$table   = array();
$table[] = array('Col 1 Heading','Col 2 Heading');
$table[] = array('Row 1 Col 1','Row 1 Col 2');
$table[] = array('Row 2 Col 1','Row 2 Col 2');
$table[] = array('Row 3 Col 1','Row 3 Col 2'); 
fb::table('Таблица', $table);

 

Настройки

Disable with fake fb() - отключает работу функции fb(), при этом вместо нее будет определена пустая функция без вывода. Теперь даже если в коде где-то встреться "забытая" отладка, то ничего не произойдет.

 

Подведем итоги

Плюсы

  • Дампы переменных не видоизменяют внешнего вида сайта.
  • Можно устанавливать разнообразные типы сообщений.
  • Очень удобно при работе с AJAX.
  • Предусмотрены группировки соощений, трассировка, вывод ввиде таблиц, отображение ошибок выполнения скрипта.

Минусы

  • Иногда сообщения не отображаются, хотя в http-заголовках оно есть.
  • Не отображается строка вызова, можно потерять в коде забытый дамп.
  • Не все для работы используют FireFox.
Удобно использовать

Как это выглядит на практике
Смотрите также:
Комментарии (4) Добавить комментарий
  • Konstantin
    Konstantin
    14 Сентября 2011, 17:56
     ↑  +1  ↓     ответ

    Привет!

    Никак не могу начать отладку с JFirePHP.

    Все плагины поставил.

    Как подключить JFirePHP в шаблон?

    Вот это как понять:

    "Add the firephp/firephp.defines.php to your project. You can either copy the content into

    your code (e.g. a global defines file) or copy the file into your project."

    PS: Как использовать дальше я понял.

    • smet.denis
      smet.denis (админ)
      14 Сентября 2011, 20:54
       ↑  0  ↓     ответ

      Если вы используете официальную билиотеку, то просто подключите файлы библиотеки где-нибудь в самом начале вашего кода (или CMS).

      Если плагином, то проверьте что он активирован. Шаблон трогать не нужно.

      • Konstantin
        Konstantin
        14 Сентября 2011, 21:24
         ↑  0  ↓     ответ

        Спасибо за ответ!

        Дело было в настройках плагина: надо было настроить, чтобы он работал НЕ только в режиме отладки сайта.

  • Alex
    Alex
    06 Ноября 2012, 01:25
     ↑  0  ↓     ответ

    А где взять JFirePHP? Здесь я чето не увидел ссылок, только на FirePHP для мозилы.

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




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

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