Выбор хорошей среды разработки приложений - одна из первоочередных задач любого разработчика. Отладка, дополнение кода, проверка синтаксиса - важные компоненты редактора, которые сильно экономят время и силы программиста.
Для php сред разработки, как оказалось, написано довольно много (особенно если включить в их список "продвинутые блокноты"). И как у всех продуктов у многих из них имеется огромная куча недостатков. Итак, что же выбрать?
Как и многие другие программисты, я сначала боялся навороченных IDE, поэтому присматривался только к блокнотам с подсветкой кода. Для маленьких проектов больше и не надо было.
Так однажды я наткнулся на PSPad - "продвинутый блокнот", который до сих пор используется мной, когда надо что-то быстро подправить или нет под рукой более подходящего инструмента. На PSPad я сидел очень долго. Не знаю уж, чем он мне приглянулся... вроде нет некоторых возможностей как в scite или notepad++, работает тоже не сказать, чтобы быстрее. Но что-то всё-таки в нём есть.
Из основных его плюсов стоит отметить: мультитабность, настраиваемую подсветку всего, чего только душа пожелает, инспектор кода, дополнение функций php. Из минусов... отсутствие Code Folding. Конечно, можно и ещё минусов отыскать, но это же всё-таки не IDE, так что не будем ;)
В принципе можно было и дальше писать код в PSPad. Но после того, как поработал с Java в удобных IDE JDeveloper и Eclipse захотелось того же для php, а именно нормального автодополнения, возможности отладки и проверки кода на лету.
Всё это нашлось в самой полной и продвинутой среде Zend ZDE.
Правда, просидел я на ней совсем недолго. Доставала скорость её работы. Тормозила не на шутку. И это на Athlon 2000+ c 512 DDR оперативной памяти... ужас, в общем.
Конечно, есть у данной среды и неоспоримые преимущества. Она полностью направлена на разработку php приложений и имеет, пожалуй, самый полный и продуманный механизм автодополнения, отладчик и проверку кода на лету.
Но, к сожалению, тормознутость и коммерционализированность не дают как следует всем этим насладится.
Через неделю сменяющих друг-друга восхищения возможностями и негодования по поводу тормозов, ZDE был снесён. Вернулся к PSPadу. Радовался отсутствию тормозов, но тайно мечтал об автодополнении и проверке на лету.
И тут произошло чудо. Как-то работая с Java в Eclipse я заглянул в настройки и увидел список подключенных плагинов. Ага... есть поддержка плагинов... а нет ли плагина под php? Полез в google и... нашел!
Со скептическим настроением выкачав плагин установил как написано в readme, перезапустил Eclipse и офигел...
По возможностям может потягаться с ZDE, была моя первая мысль. После дня работы я был полностью убеждён, что плагин лучше ZDE.

Первое и самое огромное преимущество PHPEclipse (да-да, именно так он и называется) - всё довольно быстро работает. Дискомфорта никакого.
Второе, что бросилось в глаза - приятные цвета и шрифты, да плюс ещё хорошая подсветка синтаксиса. Так как я работаю с Smarty, то ещё очень порадовала подсветка его шаблонов.
Как и в основном Eclipse для Java в PHPEclipse имеется Code Folding (сворачивание блока кода в одну строчку... чтобы не мешался). Мелочь, а приятно.
Как не странно в PHPEclipse есть и автодополнение функций php, переменных в пределах файла, автодополнение методов и полей всех подключенных классов.
Ну, для полной картины имеется замечательная проверка на лету, автоматическая расстановка отступов, закрытие скобок, кавычек. Имеется возможность отладки.
Прибавим сюда полную бесплатность как самого Eclipse, так и PHPEclipse и полную кроссплатформенность...
За последние три-четыре месяца у меня полностью отпало желание даже пробовать другие среды разработки. В PHPEclipse всё удобно и хорошо. Может, конечно, есть что-то лучше, но я пока не встречал...
Дополнение от 25 декабря 2006
Встретил... Действительно нашёлся IDE лучше PHPEclipse... Тоже созданный на базе Eclipse, тоже бесплатный и очень похожий: PHP IDE.
Преимущества перед PHPEclipse:
Меньше размер дистрибутива.
Более правильное и удобное дополнение кода.
Встроенный дебаггер от Zend.
Постоянное развитие проекта.
Недостатков пока не выявлено...
Дополнение от 27 декабря 2006
Вот и первый недостаток: PHPIDE упорно не хочет работать с чем-либо не в кодировке utf-8. Даже если в проекте выставить cp1251, упорно старается сохранять в unicode.
Выводы:
Для небольших проектов вполне сгодится PSPad или другие "продвинутые блокноты". Как только дело доходит до крупных проектов - лучше перейти на PHP IDE или PHPEclipse, если не хочется работать с unicode.
p.s. возможно кому-то поможет справится с проблемами при переходе на utf-8 статья "My SQL 4.1+ и любые проблемы с русскими буквами" .