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

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

JDump — отладка расширений в Joomla

отлаживать расширения — одно удовольствие

JDump — отладка расширений в Joomla

Обычно разработчики используют для отладки стандартные функции print_r() и var_dump(). Да, они показывают все содержимое переменной, но вывод приходится обрамлять тегами <pre></pre> и в итоге мы получаем искаженный внешний вид сайта, свалку свойств, "километровую" прокрутку и.т.д. В итоге - убийство времени и сил на "черную работу".

Утилита J!Dump делает жизнь простого программиста проще. Фактически плагин добавляет новый функционал к ядру Joomla. Вся интересующая нас информация теперь будет выводиться в аккуратно оформленном всплывающем окне.

Установка J!Dump

Подходит для Joomla 1.5.x - 1.6.x версий.

Компонент и необходимый к нему плагин можно загрузить по ссылкам в конце страницы. И компонент и плагин должны быть установлены вместе.

Обязательно опубликуйте системный плагин. По умолчанию он называется "J!Dump", находится в группе "system". В противном случае функции отладки будут не доступны и могут вызывать крах всего сайта.

Настройка J!Dump

После установки, у вас появится новый компонент. Перейдя в него, вам откроется краткая справка. На панели инструментов нажмите на параметры. Здесь можно установить:

  • Popup width - Ширина всплывающего окна
  • Popup height - Высота всплывающего окна
  • Auto Popup - Автоматически показывать окно отладки
  • Maximum recursion depth - Максимальная вложенность объекта, которую покажет dump()
  • Trim Strings - обрезать строковые переменные от пробелов по краям
  • Maximum String Length- Максимальная длина строки (в символах)
  • Show origin of call - Показывать место вызова

Окно настроек компонента

Использование отладки в Joomla

Использовать отладку можно практически везде в коде, где определена функция dump().

Функция dump()

dump( $this, 'Переменная $this шаблона' ); 

Просто да? Второй параметр - это опциональная возможность функции, название перменной. Это особенно удобно при использовании нескольких дампов, чтобы легко отличать их друг от друга.

Пример использования в коде Дамп переменной $this в главном шаблоне JoomlaВложенность переменных в виде дереваСписок методов объекта
Блокировка всплывающего окна

Функция dumpSysinfo()

dumpSysinfo(); 

Выводит основную информацию о системе, Joomla, константах, окружении

  • All Defined Constants
  • Environment
  • Joomla Configuration
  • PHP
  • Versions

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

Плюсы

  • Очень аккуратно отображает данные о объектах, массивах, отличная замена print_r и var_dump.
  • Объектам показывает список доступных методов - подобная вещь к сожалению редко реализуется в отладчиках.
  • Подходит для работы с плагинами, шаблонами, модулями, компонентами и даже библиотеками на лицевой части сайта.
  • Окно дампа можно "заморозить", затем открывать новые и сравнивать предыдущие результаты с текущими.
  • Код расширения написан качественно и понятно, можно легко дополнить своим функционалом.

Минусы

  • Отладка AJAX-запросов через JDump - не самое удобное занятие. Лучше воспользоваться плагином firePHP.
  • Появляется в панели управления никому не нужный пункт с J!Dump, думаю настройки можно было сделать внутри плагина.
  • Всплывающее окно часто блокируется браузером либо системой, для каждого сайта придется добавить исключение.
  • Дампы больших переменных(либо их большого количества) могут подвешивать бразуер.
  • Специфика отладчика не позволяет отлаживаться в панели управления - будет бесконечный редирект, либо другие неприятные вещи.

Замечания

  • Компонент предназначен для использования только на разрабатываемых сайтах. Не используйте его на живом сайте! Советуем удалять либо просто отключать плагин на рабочих сайтах. Это может серьезно навредить безопасности вашего сайта!
  • Вы не можете использовать dump() пока не опубликуете плагин J!Dump, желательно поставить в порядке загрузке его самым первым, чтобы новые функции подключились как можно раньше.

 

В целом расширение очень понравилось, хотя есть некоторые недочеты (а кого их нету?). На деле оказыватся очень удобным, но немного не привычным. Самое большое неудобство на мой взгляд - это медлительность работы JS, но за хорошим железом и быстрым браузером (например, Google Chrome) это не проблема. Рекомендуем!


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




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

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