Отладка кода PHP

PsyTech

Новичок
Подскажите как лучше и удобнее отлаживать код PHP? Т.е. с точками останова и т.п.. Для этого нужно локально устанавливать PHP+Apach+MySQL?
Сейчас код пишу в phpDesigner 7.
Заранее благодарен.
 

MildMildMint

Новичок
craz
1) Не злятся системы контроля версий из-за изменения кучи файлов. Или возвращать файлы из репа, или делать левые комиты.
2) Не тратится время на расстановку десятка вардампов - просто идет расстановка 1(одного) брекпойнта.
3) Список переменных из текущей области видимости. Помогает.
4) Выглядит более удобочитаемо, чем вардамп.
5) Не тратится время на то, чтобы убрать вардампы - просто переключается перспектива.
 

Dovg

Продвинутый новичок
MildMildMint
1. Не надо коммитить код, который содержит отладочную информацию, т.к. эта информация нужна только тебе, но не другим.
2. Для поиска проблемы нужно ставить не десяток вардампов, а один (ну край два) и постепенно смещать их по коду (ИМХО)
3. тут не могу прокомментировать, т.к. у меня переменных в текущей области видимости не сотни, а единицы ;)
4. Каждому свое. Я вообще люблю вывод print_r(), только с ним надо быть внимательным, когда выводишь то, что потенциально может быть null или false
5. исходя из 1. делается одной командой - svn revert -R . / git reset --hard
 
  • Like
Реакции: craz

AmdY

Пью пиво
Команда форума
Dovg
не смешно. сам в основном пользуюсь var_dump (но абгрейдженый xdebug-ом), но это для простых ситуаций. А вот для сложной отладкий без дебагера никак, это даже не должно обсуждаться.
 

AmdY

Пью пиво
Команда форума
Dovg
когда сходу не знаешь в каком месте ошибка
 

Dovg

Продвинутый новичок
Dovg
когда сходу не знаешь в каком месте ошибка
Начни с точки входа. :)

У деббагера, как и у прочих удобных инструментов есть большая проблема: к ним привыкаешь.
А потом окажется у тебя сервер, где есть только bash и vim/nano, и там надо будет найти ошибку.

Если при этом ты не привык писать руками что-то типа file_put_contents('/tmp/dovg.log', print_r($someObject, true), FILE_APPEND); , то найти ошибку будет сложно.
 

Koc

Новичок
Dovg
бывает еще хуже - vi а не vim, и напрямую доступа к ssh нет и ты через team viewer к чуваку-итальянцу подключен а с него уже через putty к серваку подконнективаешься.
 

AmdY

Пью пиво
Команда форума
Dovg
фантазёр, я пользуюсь IDE (netbeans) и для редактирования серверного кода, такие возможности есть с незапамтных времён. да и история нетбинса позволяет откатывать код до нужной версии.
 

Koc

Новичок
AmdY
читай мое сообщение. Это не выдумка, так реально было
 

Dovg

Продвинутый новичок
AmdY
Спасибо за комплимент!

Я тоже пользуюсь netbeans. На сервере код очень стараюсь не редактировать, ибо.

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

craz

Нестандартное звание
AmdY
Спасибо за комплимент!

Я тоже пользуюсь netbeans. На сервере код очень стараюсь не редактировать, ибо.

Основная мысль моего сообщения была в том, что надо уметь находить ошибки без профайлера, используя стандартные средства языка.
Если ты не сталкивался необходимостью этого, это не означает, что такой необходимости не существует.
Да вы об одном и том же врядли АмдИ не сталкивался)))) просто он имеет ввиду, что по-хорошему надо использовать все возможности, а не в ви вардампы расставлять - но не уметь этого тоже нельзя.
 
  • Like
Реакции: Dovg

AmdY

Пью пиво
Команда форума
Dovg
задачу нужно решать с помощью лучших инструментов, а к костылям прибегать, только, когда другого выхода нет.
 
Сверху