За последние 24 часа нас посетил 56891 программист и 1776 роботов. Сейчас ищут 964 программиста ...

PHPStorm

Тема в разделе "Прочие вопросы по PHP", создана пользователем alexey_baranov, 20 дек 2010.

  1. LeoK

    LeoK Активный пользователь

    С нами с:
    24 сен 2009
    Сообщения:
    43
    Симпатии:
    0
    я вообще не знаю честно что такое xdebug... запустил тесты - вся картина на экране
    tdd имеет свои плюсы... тесты наверно с визуальным дебагером совсем круто будет
     
  2. Volt(220)

    Volt(220) Активный пользователь

    С нами с:
    11 июн 2009
    Сообщения:
    1.640
    Симпатии:
    1
    С опытом наверно, а не с возрастом.
     
  3. karlozzz

    karlozzz Активный пользователь

    С нами с:
    24 окт 2010
    Сообщения:
    430
    Симпатии:
    0
    Адрес:
    Y-OLA
    Очень интересно, если будет время отпишись пожалуйста сюда или в ЛС

    Я не отрицаю xdebug, согласен, что в некоторых случаях он полезен, но все таки по прежнему остаюсь при своем мнении, что var_dump'ом большинство (причем преобладающее) вопросов решаются намного быстрее и удобнее, зачем мне отслеживать последовательность выполнения операторов? Я вывожу данные исходя из которых мне тут же эта последовательность открывается, пользовался я и xdebug, при работе с ним тратится больше времени, даже разница в минутах для меня очень существенная... Напишите мне преимущества xdebug над скажем var_dump, может быть я их просто не вижу, просто попробуйте объяснить, КАК Я СМОГУ СЭКОНОМИТЬ СВОЕ ВРЕМЯ пользуясь им, нежели просто выводом данных на экран или в лог?
     
  4. Psih

    Psih Активный пользователь
    Команда форума Модератор

    С нами с:
    28 дек 2006
    Сообщения:
    2.678
    Симпатии:
    6
    Адрес:
    Рига, Латвия
    Эх, вам просто не приходилось дебагать системы с сложной логикой и большим кол-вом взаимодействующих модулей. Особенно когда баг где-то в родных компонентах системы. Вставлять по 10-15 var_dump & print_r вам просто не приходилось и дебагать это дело по 1.5-2 часа.

    Главный плюс дебага? Вы видите ВСЁ переменные и объекты, а не только то, что вывели на экран. Сколько раз вам приходилось втыкивать по 4-5 print_r|var_dump что бы вывести ту кучу информации, которую надо. Да ещё и при этом простыня на 10-15 экранов получается. В общем кто имел дело с такими вещами - понимает. Остальные просто ещё не занимались сложными проектами.

    З.Ы. Работал с Zend Debugger
     
  5. alexey_baranov

    alexey_baranov Активный пользователь

    С нами с:
    3 фев 2009
    Сообщения:
    647
    Симпатии:
    0
    Адрес:
    Сургут
    Psih
    А PHPStorm к Zend Debugger прикрутить получилось? У меня что-то с XDebug не заработал.
     
  6. alexey_baranov

    alexey_baranov Активный пользователь

    С нами с:
    3 фев 2009
    Сообщения:
    647
    Симпатии:
    0
    Адрес:
    Сургут
    правильнее сказать через раз работает
     
  7. karlozzz

    karlozzz Активный пользователь

    С нами с:
    24 окт 2010
    Сообщения:
    430
    Симпатии:
    0
    Адрес:
    Y-OLA
    Psih
    Самое главное - это локализовать ошибку, так что тут и var_dump можно все прекрасно сделать, а зачем мне выводить кучу данных? Я прекрасно знаю, что такие то объекты отлично работают, а такие то я еще разрабатываю, соответственно только от них и смотрю данные
     
  8. Apple

    Apple Активный пользователь

    С нами с:
    13 янв 2007
    Сообщения:
    4.984
    Симпатии:
    2
    Откуда ты можешь это знать, если в проекте куча сторонних библиотек, которые ты ТОЧНО писать не будешь (или будешь писать видеокомпрессор под *DV?)
    Мы писали по моим меркам ОГРОМНЫЙ архитектурный сайт с возможностью работы с трехмерными моделями, где взаимодействовали между отдельными внутренними и внешними модулями. Было взаимодействие с флешем, внешний рендеринг, проектирование планов и т.д.
    Необходимо было следить за всеми данными, которые отдавались сторонними модулями, иногда приходилось дебажить объекты сторонних библиотек, чтобы понять, куда он дел переданную структуру.
    var_dump в этом деле - последнее, что может быть.
     
  9. alexey_baranov

    alexey_baranov Активный пользователь

    С нами с:
    3 фев 2009
    Сообщения:
    647
    Симпатии:
    0
    Адрес:
    Сургут
    karlozzz
    можно увидеть где-нибудь твою работу? мне интересно посмотреть на сайт, который писался var_dump-ами. Скорее всего- это гостевуха типа как у vladson-а
     
  10. karlozzz

    karlozzz Активный пользователь

    С нами с:
    24 окт 2010
    Сообщения:
    430
    Симпатии:
    0
    Адрес:
    Y-OLA
    alexey_baranov
    Пример работ отписал в ЛС
     
  11. MiksIr

    MiksIr Активный пользователь

    С нами с:
    29 ноя 2006
    Сообщения:
    2.339
    Симпатии:
    44
    Да не, можно вардампами дебажить, никто не спорит. Только утверждать, что это "быстрее и удобнее" - выставлять себя не очень разумным человеком. Вот тут с одной стороны те, кто может дебажить и вардампом и дебагом, а с другой - те, кто дебаг толком не использовали. Ну как последние могут о чем-то спорить, я не понимаю. Это как минимум не профессионально.

    Нетбинс дружится легко.
    1. Фаирфокс с соответствующим расширением, постоянно включен
    2. Дебаг сессия в нетбинсе постоянно включена
    3. Снятая галочка "постанавливаться на первой строчке" в нетбинсе в настройках.
    4. Ну и все пути, мапинг должен быть настроен, что бы нетбинс понимал какой локальный файл он дебажит.
    Теперь нужен дебаг - ставим в коде брейкпоинт, F5 в браузере - профит.
     
  12. alexey_baranov

    alexey_baranov Активный пользователь

    С нами с:
    3 фев 2009
    Сообщения:
    647
    Симпатии:
    0
    Адрес:
    Сургут
    karlozzz
    Действительный член ассоциации Народных целителей Урала и Западной сибири сертификат УП-065. Профессиональный нумеролог, врач по образованию, магистр энергокосмических практик. Методика восстановления человека, разработанная в институте Монро, на основе достижений нано-технологий и не имеющая аналогов, позволяет.......

    ПС: а почему в ЛС? это секрет?
     
  13. karlozzz

    karlozzz Активный пользователь

    С нами с:
    24 окт 2010
    Сообщения:
    430
    Симпатии:
    0
    Адрес:
    Y-OLA
    alexey_baranov
    Спасибо конечно, но с нумерологом вы переборщили
    Не люблю "**ськами мериться"
     
  14. alexey_baranov

    alexey_baranov Активный пользователь

    С нами с:
    3 фев 2009
    Сообщения:
    647
    Симпатии:
    0
    Адрес:
    Сургут
    Нормальный такой сайт, даже не верится, что его автор для дебуга пользует var_dump()
     
  15. tommyangelo

    tommyangelo Старожил

    С нами с:
    6 дек 2009
    Сообщения:
    2.549
    Симпатии:
    0
    Адрес:
    Мариуполь
    MiksIr
    А что за расширение для фаерфокса нужно?
     
  16. MiksIr

    MiksIr Активный пользователь

    С нами с:
    29 ноя 2006
    Сообщения:
    2.339
    Симпатии:
    44
    Посмотри по слову xdebug... их много разных было, но суть одна - они ставят куку по которой активируется xdebug.
     
  17. alexey_baranov

    alexey_baranov Активный пользователь

    С нами с:
    3 фев 2009
    Сообщения:
    647
    Симпатии:
    0
    Адрес:
    Сургут
    Я в самом нетбинсе всегда нажимал "Debug", а дополнение для фаерфокса только один раз только юзал, оно было необходимо для JS дебуга внутри нетбинса. А потом удалил этот плагин, потому что JS debug кривой.
     
  18. MiksIr

    MiksIr Активный пользователь

    С нами с:
    29 ноя 2006
    Сообщения:
    2.339
    Симпатии:
    44
    > Я в самом нетбинсе всегда нажимал "Debug"
    Эта ты падажди. Представляю как можно отдебажить таким образом helloworld.php, но как дебажить хоть мало-малький роутер? URI то как задавать, если "нажимать Debug"
     
  19. tommyangelo

    tommyangelo Старожил

    С нами с:
    6 дек 2009
    Сообщения:
    2.549
    Симпатии:
    0
    Адрес:
    Мариуполь
    MiksIr
    есть такая возможность, если в настройках проекта выставить - ask every time. Тогда такое окошко вылазит, куда вводишь адрес. Но в браузере удобнее - не надо ничего никуда копипастить - вчера убедился.
    Подскажи пожалуйста, а результаты никак в браузер вывести нельзя?
     
  20. MiksIr

    MiksIr Активный пользователь

    С нами с:
    29 ноя 2006
    Сообщения:
    2.339
    Симпатии:
    44
    > если в настройках проекта выставить - ask every time
    жуть ;) понимаю, почему некторые не любят дебаг ;)

    > Подскажи пожалуйста, а результаты никак в браузер вывести нельзя?
    Результаты чего? У тебя браузер дернул php, там внутри xdebug увидел куку свою и стукнулся в IDE, та ему сказала где остановится. Пока ты висишь на брейкпоинте - ясно дело, никто ничего не выведет. Как только в нетбинсе нажимаешь "продолжить" (Run) - скрипт выполняется до конца и в браузере все то, что было бы без режима дебага.
    Так что я немного не понял вопрос.
     
  21. tommyangelo

    tommyangelo Старожил

    С нами с:
    6 дек 2009
    Сообщения:
    2.549
    Симпатии:
    0
    Адрес:
    Мариуполь
    MiksIr

    Зато я по твоему ответу понял))))
    А еще подскажи пожалуйста - чтобы отследить переменную - надо добавить ей "New Watch" ?
     
  22. MiksIr

    MiksIr Активный пользователь

    С нами с:
    29 ноя 2006
    Сообщения:
    2.339
    Симпатии:
    44
    Да, можно так.
    Плюс, все активные переменные в данном контексте отображаются в отдельном окне - можно там ее найти.
    В нормальных IDE можно просто курсор на переменную в коде навести... помнится, у нетбинса с этим были проблемы.
     
  23. alexey_baranov

    alexey_baranov Активный пользователь

    С нами с:
    3 фев 2009
    Сообщения:
    647
    Симпатии:
    0
    Адрес:
    Сургут
    а брекпоинтами пользоваться не учили?
    дебаг запускал один раз в начале рабочего дня. если надо что-то отдебужить, ставлю брекпоинт
     
  24. MiksIr

    MiksIr Активный пользователь

    С нами с:
    29 ноя 2006
    Сообщения:
    2.339
    Симпатии:
    44
    > а брекпоинтами пользоваться не учили?
    > дебаг запускал один раз в начале рабочего дня. если надо что-то отдебужить, ставлю брекпоинт

    И? Дебаг сессия то как стартовалась? Hint: она может стартовать только при наличии специальной куки или параметра в запросе браузера. Вот куку эту ты как ставил "без плагинов для фаирфокса"?
     
  25. alexey_baranov

    alexey_baranov Активный пользователь

    С нами с:
    3 фев 2009
    Сообщения:
    647
    Симпатии:
    0
    Адрес:
    Сургут
    Да она -то стартует один раз в начале рабочего дня при помощи кнопки "Debug" при этом передается параметр XDEBUG_SESSION=bla bla bla/ если я не ошибаюсь. Так стартуется сессия. После этого можно закрыть это окно браузера, если мешает доп параметр (хотя как он может мешать кому-то я не понимаю), и открыть новое окно уже без него, дебаг все равно будет работать. Когда сессия запущена, этот параметр уже не нужет. И так эта сессия и весит до конца дня, пока комп не пора выключать. И все дебужется без кук и плагинов.