dpm($var) или dsm($var)
Выводит информацию о переменной в виде системного сообщения, используя Krumo.
dvm($var)
Выводит информацию о переменной в виде системного сообщения, используя var_dump($var)
.
dpr($var, $return = false)
Выводит информацию о переменной вверху страницы, используя print_r($var, $return)
.
dvr($var, $return = false)
Выводит информацию о переменной вверху страницы, используя var_dump($var, $return)
.
kpr($var, $return = false)
Выводит информацию о переменной вверху страницы, используя Krumo.
dargs()
Выводит информацию об аргументах текущей функции вверху страницы, используя Krumo.
dd($var, $label = null)
Записывает информацию о переменной в файл drupal_debug.txt
, который находится во временной директории (admin/settings/file-system
).
ddebug_backtrace()
Выводит стек вызова функций вверху страницы, используя Krumo.
db_queryd($query, $args = array())
Функция db_queryd()
, это дебаг версия db_query()
, которая после выполнения запроса $query
, выводит его вверху страницы.
dpq($query, $return = FALSE, $name = NULL)
Это аналог функции db_queryd()
доступный только в Drupal 7. Выводит с помощью dpm()
SQL запрос с подставленными аргументами. В качестве первого параметра принимает объект DBTNG.
Это краткий перевод статьи Debugging Drupal.
Комментарии
function call stack - это стек вызова функций, устоявшееся.
ок, будем знать
Никогда не понимал, в чём удобство этих функций.
У меня свой отладочный класс - обертка для krumo, что бы можно было выводить дампы переменных через drupal_set_message.
Поэтому нет необходимости:
1. устанавливать на все сайты devel
Класс цепляется ко всем сайтам с помощью auto_prepend_file.
2. Запоминать названия новых функций (dpm, dvm, dpr, dvr и т.д.) и их различия.
Достаточно запомнить название класса (одна буква).
Все остальные krumo-функции по аналогии.
db_query для D6 тоже свою делал, с подсветкой SQL синтаксиса и отображением времени выполнения запроса. На D7 пока не нашел способа реализовать такое же.
Devel это гораздо большее чем эти пяток функций. И ставить его ничем не сложнее своего велосипеда —
drush dl devel
+drush en devel -y
. Плюс он будет работать на продакшене и любом другом месте, где стоит друпал.мне например достаточно одной — dsm(), остальными я пользуюсь редко.
Мне там интересен был только профайлер запросов, которого в 7-ке вроде уже нет.
Ага, только потом не забывать drush dis devel + drush uninstall devel, когда сайт переносится на продакшн.
ну это не страшно, там много что ещё нужно отключить, помимо devel-а
Разве это небезопасно держать Devel не рабочем сайте? Просветите пожалуйста.
ничего опасного нет
Спасибо.
ссылка на источник благополучно переехала куда-то сюда: http://ratatosk.net/drupal/tutorials/debugging-drupal.html
http://www.youtube.com/watch?feature=player_embedded&v=wpHS6Fkzre4 упоминается про devel/php
имея доступ к fullhtml наворотить можно всё что угодно и без devel/php :)
Супер,
могу еще добавить что в dpm($var) и dsm($var) есть 2й необязательный параметр name. Выводит надпись перед распечаткой переменной.
Я использую dpm(), поскольку dsm() в тупую вызывает dpm :) хотя dsm набрать на клавиатуре проще.
а вы не подскажите как вызвать dsm(); на страницах чекаута в drupal commerce?
через hook_form_alter:
Alex, thx!
А что бы дебажить аякс запросы, есть предложения?
firephp
С полпинка не поднялся... видимо где-то налажал.
понравилось решение вопроса с помощью https://www.drupal.org/project/devel_debug_log
Только у меня реальные данные drupal_set_message отображает только после 2-го рефреша страницы?
А, понял, 2-ой параметр должен быть FALSE
Добавить комментарий