RSS   Twitter   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

Функция dumpTemplate()

Используется внутри index.php, для отображения параметров шаблона.

dumpTemplate( $this ); 

Функция dumpMessage()

Отображает какое-нибудь системное сообщение, очень удобно для того чтобы узнать была ли вызвана функция, подключен ли файл, выполнен ли цикл и прочее...

dumpMessage('Используется шаблон '.$this->template); 

 

Функция dumpTrace()

Отображает BackTrace - порядок вызова файлов, функций, аргументы

dumpTrace(); 

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

Плюсы

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

Минусы

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

Замечания

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

 

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


Смотрите также:
Комментарии (22) Добавить комментарий
  • olga
    olga
    01 Апреля 2013, 16:27
     ↑  0  ↓     ответ

    При работе j!dump в joomla 2.5 при вызове соответствующего пункта меню почему-то дает ошибку 500. Плагин активирован. В чем может быть причина?

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

      А какой текст ошибки?

  • olga
    olga
    04 Апреля 2013, 15:20
     ↑  0  ↓     ответ

    Вот: localhost/project/ru/jdump.html

    Ошибка: 500

    Вы не можете посетить текущую страницу по причине:

    просроченная закладка/избранное

    поисковый механизм, у которого просрочен список для этого сайта

    пропущен адрес

    у вас нет права доступа на эту страницу

    Запрашиваемый ресурс не найден.

    В процессе обработки вашего запроса произошла ошибка.

    Пожалуйста, перейдите на одну из следующих страниц:

    Домашняя страница

    Поиск по сайту

    Если проблемы продолжатся, пожалуйста, обратитесь к системному администратору сайта и сообщите об ошибке, описание которой приведено ниже..

    Представление не найдено [name, type, prefix]: tree, html, dumpView

  • tinyurl.com
    tinyurl.com
    24 Ноября 2019, 07:06
     ↑  0  ↓     ответ

    Hi there, just wanted to tell you, I liked this blog post.

    It was inspiring. Keep on posting!

  • tinyurl.com
    tinyurl.com
    25 Ноября 2019, 09:04
     ↑  0  ↓     ответ

    What's up Dear, are you in fact visiting this web page daily, if so after that you will without

    doubt get pleasant experience.

  • coconut oil was
    coconut oil was
    25 Ноября 2019, 19:03
     ↑  0  ↓     ответ

    I am genuinely grateful to the owner of this website who has shared this fantastic piece

    of writing at at this time.

  • plenty of fish dating site
    plenty of fish dating site
    26 Ноября 2019, 14:42
     ↑  0  ↓     ответ

    Thanks for the auspicious writeup. It if

    truth be told was a leisure account it. Look advanced to more delivered agreeable from you!

    However, how can we be in contact?

  • tinyurl.com
    tinyurl.com
    26 Марта 2022, 15:21
     ↑  0  ↓     ответ

    Hello there, just became alert to your blog through

    Google, and found that it is truly informative.

    I am going to watch out for brussels. I will be

    grateful if you continue this in future. Lots of people will be benefited from your writing.

    Cheers!

  • http://tinyurl.com/y8et8rvp
    http://tinyurl.com/y8et8rvp
    27 Марта 2022, 09:40
     ↑  0  ↓     ответ

    Hi there, i read your blog occasionally and i own a similar one and

    i was just curious if you get a lot of spam remarks?

    If so how do you reduce it, any plugin or anything you can recommend?

    I get so much lately it's driving me mad so any assistance is very much appreciated.

  • http://tinyurl.com/ycpaprpz
    http://tinyurl.com/ycpaprpz
    30 Марта 2022, 18:00
     ↑  0  ↓     ответ

    I know this web site presents quality based posts and other stuff, is there any other website which gives these kinds of things in quality?

  • cheap flights booking
    cheap flights booking
    02 Апреля 2022, 16:32
     ↑  0  ↓     ответ

    I have read a few good stuff here. Definitely price bookmarking for revisiting.

    I wonder how a lot attempt you put to make the sort of excellent informative website.

  • best way to book flights
    best way to book flights
    03 Апреля 2022, 16:14
     ↑  0  ↓     ответ

    I love it when folks get together and share opinions.

    Great website, stick with it!

  • cheap flight
    cheap flight
    04 Апреля 2022, 07:31
     ↑  0  ↓     ответ

    I really like reading a post that will make men and women think.

    Also, thanks for allowing me to comment!

  • cheap tickets flights
    cheap tickets flights
    04 Апреля 2022, 22:48
     ↑  0  ↓     ответ

    Good blog post. I definitely love this website. Keep it up!

  • best rates on airfare
    best rates on airfare
    05 Апреля 2022, 19:29
     ↑  0  ↓     ответ

    It's remarkable for me to have a web page, which is good in favor of my knowledge.

    thanks admin

  • cheap air tickets domestic
    cheap air tickets domestic
    06 Апреля 2022, 03:31
     ↑  0  ↓     ответ

    Hi, i read your blog from time to time and i own a similar one and i was just wondering if you

    get a lot of spam feedback? If so how do you prevent it, any plugin or anything you can suggest?

    I get so much lately it's driving me crazy so any help is very much appreciated.

  • flight
    flight
    06 Апреля 2022, 23:04
     ↑  0  ↓     ответ

    I do not even know how I ended up here, but I thought this post was great.

    I don't know who you are but definitely you're going

    to a famous blogger if you aren't already ;) Cheers!

  • gamefly
    gamefly
    07 Апреля 2022, 11:48
     ↑  0  ↓     ответ

    My spouse and I absolutely love your blog and find the majority of your post's to be exactly I'm

    looking for. Do you offer guest writers to write content

    to suit your needs? I wouldn't mind publishing a post or elaborating on most of the subjects you write with regards to here.

    Again, awesome site!

  • gamefly
    gamefly
    10 Апреля 2022, 22:41
     ↑  0  ↓     ответ

    Normally I do not read post on blogs, but I wish to say that this write-up very pressured me

    to take a look at and do it! Your writing taste has

    been surprised me. Thank you, very great article.

  • tinyurl.com
    tinyurl.com
    10 Мая 2022, 12:31
     ↑  0  ↓     ответ

    Hello There. I found your blog using msn. This is an extremely well written article.

    I'll make sure to bookmark it and return to read more of

    your useful info. Thanks for the post. I'll definitely return.

  • tinyurl.com
    tinyurl.com
    12 Мая 2022, 00:07
     ↑  0  ↓     ответ

    This piece of writing gives clear idea designed for the new visitors of blogging, that actually how to do blogging

    and site-building.

  • tinyurl.com
    tinyurl.com
    17 Мая 2022, 00:34
     ↑  0  ↓     ответ

    Hi there! This is kind of off topic but I need some

    help from an established blog. Is it very difficult to set up

    your own blog? I'm not very techincal but I can figure things out pretty quick.

    I'm thinking about setting up my own but I'm not sure

    where to begin. Do you have any points or suggestions? Appreciate it

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




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

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