Конечно хочется иметь хорошую среду разработки, на подобии Visual Studio или Java Studio или Borland.
Но в итоге приходится довольствоваться тем что есть.
Давайте все же посмотрим на то, что есть. Обзор коснется в основном программ Linux-сегмента, потому как я давно перестал понимать , что значит разрабатывать для линукс-серверов под виндой.
Для начала немного истории. Когда-то, конечно и я был виндузятником и не знал о существовании пингвиньего сообщества, немного похожего на коммунизм. В те далекие времена (ох как я заговорил, ведь не так давно это и было) я и занялся разработкой на php. Сначала для этого я использовал DreamWeaver, затем друзья посоветовали Zend - там можно было отлаживать. Это был прорыв. Но что Zend IDE, что DreamWeaver съедали много системных ресурсов, отладка была нужна не всегда, и для того чтобы поправить пару строк не нужен был даже так называемый коде-хинтинг (всплывающие подсказки на классы,функции и их параметры). По сему наткнувшись на Notepad++ я был безмерно счастлив. Но вскоре я понял что под windows разрабатывать для linux - это по меньшей мере маразм. Установил на машину Linux. Тут то все и началось. Пока еще не была скачана Zend IDE - первое что попалось на глаза - gPHPEdit.
Интересная надо сказать вещь… Хорошо работает коде-хинтинг но только по открытым файлам. Приятная подсветка синтаксиса. Маленький приятный и быстрый редактор. Очень хорошо на проектах не более 10 файлов.
Этого кандидата я думаю никому представлять не нужно, code-brauser, отладчик, code-hinting, Поддержка проектов. Sql и Ftp клиенты. Дело в том что стоит он при переводе в рубли приблизительно 7500. Для меня это накладно, а работодателя раскрутить удается не всегда. Тем более что на моей машине это была единственная проприетарная программа. В один прекрасный момент я решил быть честным. А как же? Я тоже программист и хочу получать зарплату за производимые мной программные продукты. Надо сказать будучи написанной на java студия не хило тормозит и конкретно кушает память. Так чем же я заменил ZDE? На тот момент в руки попался KDevelop.
Очень мощный но достаточно тяжелый редактор. В его составе имеется и code-browser и code-hinting, правда оба в основе своей держат ctags, который пока мало адаптирован к php. Поддерживает проекты. Имеет wizard для автоматического создания документации при помощи doxygen. Doxygen к слову - мне лично понравился гораздо больше, чем phpdoc. Doxygen может создавать документацию в таких форматах как html, xml-docbook, pdf, man. Так же генерирует UML-диаграммы. Поддержка нескольких систем контроля версий. В общем много чем меня зацепил KDevelop, но отладчик для php он не поддерживает, потому мои скитания продолжились.
Простой легкий редактор. Мой взгляд упал на него благодаря поддержке xDebug, т.к. последним я пользуюсь не только для отладки, но так же для профайлинга и определения степени покрытия кода тестами. ProtoEditor поддерживает три дебагера для php. Для редактирования текста использует компонент Kate - основного текстового редактора среды KDE. При желании вроде бы можно прикрутить плагин kate-code-browser, что лично мне так и не удалось. Дело в том, что плагин не обновлялся уже несколько лет, и постоянно возникают проблемы с зависимостями при компиляции. В общем для отладки я до сих пор использую связку ProtoEditor + xDebug. Связка конечно глючит, но удобнее и легче я пока не нашел, во всяком случае из бесплатного.
Т.к. в ProtoEditor писать код не совсем удобно - мой взор пошел гулять дальше. Результатом гуляния стал Komodo-Edit. Это бесплатный редактор основанный на движке Mozilla. Эта основа дает немыслимые возможности расширяемости. Как известно писать расширения под этот движок достаточно просто. Существует так же платная версия редактора Komodo-IDE. В последнем я нашел упоминания о поддержке дебагера для PHP. Расширений к бесплатной версии я не нашел. На момент написания этих строк последняя версия - Komodo-Edit-4.2. В данной версии появился глюк - в окне редактирования кода в Линукс-версии можно печатать только на Английском, если переключиться на другой язык - редактор перестает реагировать на нажатия буквенных клавиш. В то время как в окне поиска, и т.д. - т.е. там где текст не форматируется - реакция на переключение раскладки вполне адекватная. Как оказалось - я был вторым, кто сообщил о баге в форуме. Через пару месяцев баг был исправлен и теперь при использовании Komodo-Edit дискомфорта не ощущается.
Из преимуществ: очень хорошая подстветка кода. Встроенная консоль, правда она только выводит результаты комманд, которые придется запрограммировать в Toolbox. Но последний дает широкие возможности подстановки параметров коммандной строки, плюс сам редактор имеет широкие возможности по управлению горячими клавишами. Для меня - это одно из самых приятных удобств. Поддержка проектов. Поддержку SVN пришлось как раз таки запограммировать в Toolbox для каждого проекта отдельно. Так же невозможно переоценить тот факт, что в одной из вкладок редактора может быть открыта страница разрабатывемого сайта. Редактор позволяет назначить комбинации клавиш, для передвижения между вкладками, что позволяет почти не отрывать руки от клавиатуры в процессе работы, а лично мне обычно лень тянуться за бесхвостым грызуном.
Я думал что среда написаная на Java, будет быстрее, чем написанная наполовину на JavaScript (это я о Komodo). Оказалось, что Eclipse более тормозной, во много раз более. Возможности коде-хинтинга поражают, хороший code-browser, чего явно не хватает многим редакторам, но при этом не понятно как отключить автозавершение тегов, авто-вставку закрывающих скобок и т.д. - это меня сильно раздражает. Большой недостаток - прожорливость на память и процессорные ресурсы. Я попрощался с PDT - моим последним словом было: rm -rf ~/eclipse
Отличная подсветка кода, поддержка плагинов, поддержка макросов, поддержка xDebug для PHP. Поддержка толпы языков: PHP, C/C++, Java, JavaScript, Python, Ruby и еще много чего. Удобные функции, помогающие правильно форматировать код. На момент 2009го года это моя любимая IDE.
Собственно это все редакторы для php, которые я посчитал достойными внимания. Может в некоторых из них я недостаточно покрутил настройки, или не поискал плагинов. Но на данный момент я использую vim , kate, NetBeans IDE