NetBeans-Xdebug работает, но не будет предоставлять некоторые переменные PHP
обновление -- работа над получением WAMP с phpDeveloper/Xdebug
идет. Я все еще хочу NetBeans - я просто хочу сравнить, посмотреть, получу ли я некоторые идеи.
я использую NetBeans 6.9 С лампы и отладчик xdebug для работы над PHP-кодом. Отображение переменных работает хорошо, но в последнее время оно работает менее хорошо. Например, ниже $authorized
должно быть видно на панели переменные под кодом и должно предоставить его значение. Но это не показать, ни его значение, и mousing над кодом не помогает. (The $this
объект показывает, и это продолжается и продолжается, но $authorized
там нет, и это не имело бы смысла, если бы это было так.)
такое поведение является последовательным. Может быть, это функция сложности кода? Или безудержное использование объектов? кажется, это началось, когда я занялся CodeIgniter.
конечно, переменные скрыты, когда они мне нужны больше всего ... или так кажется бедному человеку. Что я не хватает?
отладчик NetBeans http://themanthursday.com/wiki/Debugger_Display.png
ниже приведен лучший пример. Когда я прохожу через этот код, переменные отображаются только суперглобальные переменные и это, как на картинке. Я не вижу никаких значений, даже простых строк.
(ноющая мысль: держу пари, что Суперобъект $CI имеет какое-то отношение ко всему этому ...)
class Product_documents {
function getProductImage_all($id)
//Return an array of all documents for this product
{
$imgPath = $this->_getProductImage_folder($id);
$arrayPossibleFilenames = $this->_getProductImage_possible_files($id);
foreach ($arrayPossibleFilenames as $imgFile) {
$imgPathFull = $imgPath.$imgFile;
$file_exists = get_file_info($imgPathFull);
if ($file_exists)
{
$arrayFilesPresent[] = $imgPathFull;
}
}
return $arrayFilesPresent;
}
}
6 ответов
наткнулся на этот сайт, который имеет очень хорошую ссылку на страницу Xdebug, которая проходит через процесс обновления Xdebug путем компиляции "более последней" версии:
http://icephoenix.us/php/xdebug-doesnt-show-local-variables-in-komodo-netbeans-or-eclipse-pdt/
переменные внутри объектов / классов снова появляются! Да!
нет часов, нет "это может сделать xdebug freak out" сообщения-просто хорошие переменные, которые теперь полностью разоблачить провал моего решения... (хаха).
Дэвид
Я видел такие вещи раньше в Netbeans. Я ожидаю, что это просто ошибка, связанная с взаимодействием Netbean с XDebug. Одним из возможных обходных путей, которые я видел раньше, является добавление "часов" для переменной, которую вы не видите. Например, вы можете перейти на вкладку "часы" и ввести $authorized
. Он должен появиться, как только будет установлен.
Я думаю, что это сводится к одноэлементному шаблону, который реализован в CodeIgniter как "супер объект". Я никогда не перезапускал этот проект, чтобы проверить идею Камаля. Вскоре после того, как он опубликовал сообщение, Я пришел к выводу, что причиной был синглтон (я не пытался угадать, есть ли у Камаля решение или нет). Таков мой ответ на этот пост.
(2015) в php.ini под [xdebug], установите xdebug.show_local_vars=1 Если вы хотите всех локальных переменных в режиме отладки.
попробуйте инициализировать $authorized в bool false.
Я видел, что Netbeans не показывает мне переменные, инициализированные возвращаемым значением из функции без doctype, но он попал или пропустил достаточно, чтобы не сделать шаблон из.