
Существует много хороших редакторов кода для PHP, я выбрал для себя Notepad++.
Что-бы не разводить «религиозные войны» я перечислю те свойство редактора которые важны для меня:
- Скорость работы редактора
- Малый размер и возможность работы с флешки
- Подсветка текста и возможность сворачивания блоков, согласно синтаксису языка программирования
- Авто-завершение набираемого слова
- Одновременная работа с множеством документов
- Одновременный просмотр нескольких документов
- Динамическое изменение окон просмотра
- Автоматическое определение состояния файла
- Поддержка большого количества языков
- Выделение скобок при редактировании текста
Всем хорош редактор, вот только нету в нем полноценной отладки кода – думал я, и был не прав.
Оказываетесь для него есть плагин DBGP plugin, который превращает Notepad++ в полноценную php IDE.
Дальше расскажу как «подружить» между собой Denver + Xdebug + Notepad++
- Скачиваем Денвер и устанавливаем у себя на компьютере, все просто. Для тех кто это делает первый раз, инструкция.
- Скачиваем Notepad++ и инсталлируем его.
- Запускаем Денвер в браузере набираем http://localhost/Tests/PHP5/index.php5 и смотрим версию php, у меня 5.2.4
- Скачиваем Xdebug, обратите внимание нужно скачать dll нужной версии под конкретную версию php
- Скаченую dll помещаем в папку путь\usr\local\php5\ext\, где путь (у меня C:\WebServers) -диск и папка куда вы установили свой Денвер
- В файле путь\usr\local\php5\php.ini дописываем следующие строчки
extension=php_xdebug.dll zend_extension_ts = C:\WebServers\usr\local\php5\ext\php_xdebug.dll xdebug.remote_enable = On xdebug.remote_autostart = On xdebug.auto_trace = On xdebug.remote_host = 127.0.0.1 xdebug.remote_enable = 1 xdebug.remote_handler = dbgp xdebug.remote_mode=req xdebug.idekey=default xdebug.profiler_enable = 1 xdebug.profiler_output_dir = C:\T\xdebug_prof\
Обратите внимание, что C:\WebServers – нужно заменить на вашпуть, а
C:\tmp\xdebug_prof\ – на папку где будет хранитьса ваши профайлы.
Замечание: в название путе лучше отказаться от использование не латинских букв и спецсимволов. - Перезагружаем Денвер, в браузере набираем http://localhost/Tests/PHP5/index.php5 и смотрим


если вы это увидели. то вы все сделали правильно, если нет, еще раз перечитайте пункты выше. - Практически вы уже получили сильный инструмент в своей работе программиста.

Вот очень хорошая статья «Найдите ошибки в PHP-приложениях при помощи Xdebug», о том как это расширение увеличивает ваш возможности поиска ошибок.
Но наша цель IDE – продолжаем идти к ней… - Скачиваем DBGP plugin и устанавливаем его в папочку C:\Program Files\Notepad++\plugins\ (ну или куда вы установили Notepad++)

- Залускаем Notepadd++, заходим Дополнение>>DBGp>>Config

Замечание: после home должна идти имя папки, где лежат скрипты которые вы собираетесь дебажить - После этого вроде вроде все должно работать, но у меня так и неполучилось стартовать debug сессию. Но не беда нас выручить плагин для ФФ -Xdebug Helper. Заходим по сылочки и устанавливаем в своем браузере.

- Ну вроде и все. Как все это работаем:
- открываем файл со скриптом в Notepad++
- ставим точку остановки
- запускаем браузер с url – нашего проекта
- активизируем Xdebug session – кликом по иконки (если она не активизирована)
Замечание: после активизации сессии, нужно перегрузить страничку (F5) - Вываливаемся в Notepad++ и начинаем пошагово дебажить код

Не знаю, у меня отладка не пошла, всё сделал как ты сказал, но после перезагрузки страницы выпадает сообщение – Unable to map filename: c:\WebServers\home\test1.ru\www\test.php(ip: 127.0.0.1 idekey: default) unix: 1
В чём может быть причина?
А не подскажите ли, аякс-скрипты можно на Денвере создавать? Ну, т.е., чтобы была передача информации между браузером и сервером. Я как-то пользовался Денвером, всё хорошо, в принципе, полноценный сервер, но вот аякс на нём не шёл… Можь, у меня просто руки кривые? Или настроить что-то нужно?
Блин ,жалко что сразу этот сайт не нашел. Знал бы – не пришлось бы столько времени тратить. Огрминое спасибо))))
Хотелось бы что-то наваять в комментах креативного, но мысль не складывается, так что просто “зачОт”
Спасибо, вы своим текстом меня сильно выручили – давно искала эту информацию!!!
Мне очень понравилась статья. А еще есть что-нибудь в таком духе? Буду признателен за ответ)
[quote comment="855"]Павел: в пункте 10 укажи c:\ вместо c:\WebServers\home\test1.ru\www\[/quote]
Не совсем согласен, все зависит от того, где лежат php-файлы
У меня диз вашего блога в Опере расползается, а под FF всё в порядке. Оперой всё-таки много людей пользуются.
[quote comment="1001"]У меня диз вашего блога в Опере расползается, а под FF всё в порядке. Оперой всё-таки много людей пользуются.[/quote]
Тестировал под Opera 9.62, все корректно выводит
Не нашёл контакты админа – хочу разместить рекламу.
Смените плз шрифт на блоге. Приходится напрягать глаза. А пост – грамотный…
[quote comment="1061"]Смените плз шрифт на блоге. Приходится напрягать глаза. А пост – грамотный…[/quote]
Увеличить размер шрифта или семейство?
[quote comment="1059"]Не нашёл контакты админа – хочу разместить рекламу.[/quote]
Попробуй info[@]ajaxblog.ru $)
Скачать dll файл по представленной в статье ссылки сейчас не получается. Берем этот файл от сюда: http://www.xdebug.org/docs/install
[quote comment="244"]А не подскажите ли, аякс-скрипты можно на Денвере создавать? Ну, т.е., чтобы была передача информации между браузером и сервером. Я как-то пользовался Денвером, всё хорошо, в принципе, полноценный сервер, но вот аякс на нём не шёл… Можь, у меня просто руки кривые? Или настроить что-то нужно?[/quote]
Конечно все идет. У меня аякс работал на денвере ещё с 4-ой версии. Разберите простой пример где используется аякс, чтобы была возможность просто выловить баг.
Статья очень полезная! Я всегда пользуюсь Notepad++, а про плагин не знал (но надежда на него краилась в глубине души моих программистких пальцах).
p.s. Исправь в названии статьи «Denwer»
Респект!
А оно может переключаться между разными проектами? например, проект1 – на одном сервере, проект2 – на другом?
Еще у NP++ есть такая замечательная вещь, как работа с файлами по фтп, т е. после ctrl-s не надо их ручками запихивать, файлы сразу на месте.
про блог – размер шрифта бы побольше.
>> А оно может переключаться между разными проектами? например, проект1 – на одном сервере, проект2 – на другом?
Можно работать в разных вкладках или использовать сессию (когда можно сохранить расположение вкладок) переключаясь с одной сессии на другую.
>> Еще у NP++ есть такая замечательная вещь, как работа с файлами по фтп, т е. после ctrl-s не надо их ручками запихивать, файлы сразу на месте.
Есть плагин для Notepad++, как раз для этого – http://sourceforge.net/projects/npp-plugins/files/FTP_synchronize/
и таки да, denWer а не denVer, от слова «web»
Спасибо за замечание, поправил.