Na rynku jest szeroki wybór edytorów PHP. Można wybierać między produktami komercyjnymi a darmowymi. Opiszę tu zarówno najciekawsze edytory płatne (droższe dla wymagających i tańsze dla osób, które nie potrzebują zaawansowanych funkcji), jak i darmowe.
Edytor idealny
Edytor powinien wspomagać pracę programisty, jednak nie decydować za niego. Idealny edytor powinien:
- mieć możliwość podpowiadania funkcji wraz z metodami klas,
- informować o parametrach funkcji,
- mieć dobry debuger z możliwościami,
- mieć możliwość zdalnego debugowania skryptów,
- mieć możliwość podgląd wartości wyrażeń (jak np. $i x $x czy sqrt($a)),
- mieć możliwość podglądu wartości zmiennych w dymkach,
- mieć możliwość zmiany wartości zmiennych podczas debugowania,
- mieć możliwość zmiany kodu podczas debugowania,
- mieć dobry profiler,
- automatycznie formatować wcięcia kodu, pozwalając jednak na ich modyfikacje przez programistę,
- mieć możliwość pracy bezpośrednio na serwerze FTP,
- mieć możliwość pracy z CVS-em,
- dawać możliwość wyboru kodowania pliku (np. ISO-8859-2),
- pozwalać zwijać bloki,
- oferować pełne wsparcie dla PHP5 wraz z jego nowym modelem obiektowym,
- obsługiwać zakładki (tzw. bookmarks),
- mieć możliwość kolorowania składni PHP oraz języków powiązanych z tworzeniem stron i aplikacji internetowych (HTML, XHTML, JS, CSS, XML),
- być niedrogi.
Co prawda idealny edytor nie istnieje, ale są edytory zbliżone do ideału.
Edytory płatne
Zend Studio
Zalety:
- bardzo dobry debuger
- profiler
- zapisywanie z dowolnym kodowaniem znaków
- doskonałe uzupełnianie kodu
- podpowiadanie parametrów funkcji
- analizowanie poprawności składniowej kodu
Wady:
- wysoka cena
- duże wymagania sprzętowe
Edytor przeznaczony dla zaawansowanych użytkowników. Ponieważ producentem jest ta sama firma, która rozwija silnik do PHP, edytor idealnie integruje się z tym językiem. W czasie pracy nad skryptem Zend Studio na bieżąco analizuje jego poprawność składniową i informuje o błędnym fragmencie kodu, podkreślając go.
Zintegrowany profiler umożliwia przeprowadzenie analizy kodu pod względem szybkości wykonania poszczególnych jego fragmentów.
Zend Studio dysponuje zaawansowanym debugerem – jeśli na serwerze jest zainstalowany i skonfigurowany Zend Studio Server, można uruchamiać skrypty zdalnie, a podczas uruchamiania modyfikować zawartość zmiennych. Sam debuger może być uruchomiony z poziomu edytora lub przez dodatkowy pasek integrujący się z IE, Mozillą lub Firefoksem.
Edytor pozwala na zarządzanie systemami bazodanowymi: MySQL, Oracle, IBM DB2, Cloudscape, Microsoft SQL Server, SQLite oraz PostgreSQL. Od obecnej wersji dostępne jest także zwijanie bloków kodu (nie wszystkich, tylko komentarzy i całych klas, funkcji/metod).
NuSphere PhpEd
Zalety:
- bardzo dobry debuger
- profiler
- zapisywanie z dowolnym kodowaniem znaków
- doskonałe uzupełnianie kodu
- podpowiadanie parametrów funkcji
- analizowanie poprawności składniowej kodu
Wady:
- brak zwijania bloków
- bardzo wysoka cena
Możliwościami niewiele ustępuje Zend Studio. Korzysta z popularnego debugera PHP DBG, jednak w wersji rozszerzonej przez NuSphere, pozwalającej m.in. na modyfikowanie wartości zmiennych podczas debugowania kodu. Zaletą jest także doskonały profiler.
NuSphere PhpEd jest zintegrowanym klientem baz MySQL oraz PostreSQL, oferuje również wsparcie dla protokołów WebDAV/HTTPS. Ponadto informuje już podczas pisania kodu o błędach składniowych w kodzie, podkreślając błąd bezpośrednio w kodzie oraz zaznaczając na belce z prawej strony.
Maguma Workbench
Zalety:
- dobre uzupełnianie kodu
- podpowiadanie parametrów funkcji
Wady:
- brak analizatora poprawności składniowej kodu
- brak profilera
- brak możliwości wyboru strony kodowej przy zapisie skryptu
- bardzo wysoka cena
Poważnym mankamentem tego edytora (wcale nie taniego) jest brak możliwości zapisania tekstu w polskiej stronie kodowej ISO-8859-2. Powoduje to konieczność używania specjalnego sterownika klawiatury lub osobnego programu konwertującego.
Debuger w Magumie nie pozwala na pracę ze skryptami znajdującymi się na zdalnej maszynie, jak również na modyfikowanie wartości zmiennych podczas uruchamiania.
Brakuje także profilera.
Do zalet Magumy należy zaliczyć możliwość rozszerzenia funkcji poprzez pluginy oraz dostęp do API w C. Wadą natomiast jest brak odpowiedniego wyróżnienia w kodzie niektórych słów kluczowych PHP5, m.in. bloku try…catch.
Maguma sprzedawana jest w postaci wielu modułów. Za każdy moduł płaci się osobno, więc przy zakupie wszystkich cena jest dość wysoka.
DzSoft PHP Editor
Zalety:
- funkcja sprawdzania poprawności składniowej kodu
- integracja FTP
- stosunkowo niedrogi
Wady:
- niedobrze działające automatyczne wcięcia
- podpowiadanie kodu tylko w standardowych funkcjach PHP
- podpowiadanie parametrów tylko standardowych funkcji PHP
- brak debugera
- brak wsparcia dla PHP5
- brak wsparcia dla ISO-8859-2
DzSoft PHP Edit jest tańszy, prostszy i nie ma wielu funkcji, na przykład możliwości pracy z CVS (przydatnej podczas pracy nad skryptem w większej grupie programistów). Uboższe jest także uzupełnianie kodu – podpowiada tylko wybrane, standardowe funkcje PHP, nie potrafi natomiast podpowiedzieć funkcji utworzonych przez programistę.
Podobnie jest z podpowiadaniem argumentów funkcji. Edytor nie radzi sobie również z automatycznym robieniem wcięć w kodzie.
Plusem jest wywoływane z menu sprawdzanie kodu – informacje o błędach są przedstawiane w czytelnej postaci. Wygodna jest także funkcja Goto z menu podręcznego, która umożliwia szybkie przejście z miejsca wywołania metody do definicji tej metody.
PHP Expert Editor
Zalety:
- integracja z FTP
- funkcja sprawdzania poprawności składniowej kodu
- wbudowany debuger
- makra
- niska cena
Wady:
- brak wsparcia dla ISO-8859-2
- brak wsparcia dla PHP5
- podpowiadanie kodu nie w pełni poprawne dla metod i pól klas
- podpowiadanie parametrów tylko standardowych funkcji PHP
PHP Expert Editor koloruje domknięcia nawiasów. Jest to szczególnie przydatne, gdy mamy do czynienia z bardzo zagnieżdżonymi blokami kodu ({ }) lub nawiasami.
Oferuje też prosty debuger, który nie pozwala co prawda na korzystanie z podglądu wartości wyrażeń (watches) lub na zmianę wartości zmiennych w czasie debugowania, ale w przypadku prostych aplikacji internetowych jest wystarczający.
Edytor umożliwia definiowanie makr poprzez zapisanie sekwencji działań wykonywanych podczas pracy. Makra można następnie podłączyć pod skrót klawiszowy.
PHPEdit
Zalety:
- uzupełnianie kodu (zmiennych i metod –
problemy z metodami statycznymi klas) - podpowiadanie parametrów funkcji
- dobry debuger
- wsparcie dla PHP5
- cena adekwatna w stosunku do możliwości
Wady:
- brak wsparcia dla ISO-8859-2
Oferuje wsparcie dla PHP5. Ma też zaawansowany debuger, który umożliwia podgląd zawartości wyrażeń (watches) oraz wartości zmiennych za pomocą dymków. Nie można jednak zmienić wartości zmiennej podczas debugowania.
Pisanie skryptów przyspiesza i ułatwia podpowiadanie funkcji (niestety nie w pełni poprawnie działa, np. podczas próby statycznego wywołania metody klasy podpowiada także metody nie zdeklarowane jako statyczne). Ponadto PHPEdit nie potrafi zapisać pliku używając strony kodowej ISO-8859-2 i jest bardzo niestabilny.
Edytory darmowe
PHP Coder
Zalety:
- zintegrowany klient FTP
- wbudowany debuger
- zarządzanie projektami
Wady:
- podpowiadanie składowych klas tylko PHP4
- brak zakładek w edytorze
- brak możliwości wyboru formatu końca linii
- brak wsparcia dla ISO-8859-2
Potrafi kolorować składnię PHP oraz HTML-a, ma debuger oferujący podstawową, wystarczającą w większości przypadków funkcjonalność, zintegrowany podręcznik do PHP, oraz podpowiada standardowe funkcje tego języka.
Poprawnie obsługuje podpowiadanie składowych klas w formacie PHP4, ale nie radzi sobie z rozszerzeniami wprowadzonymi w PHP5. Oferuje proste zarządzanie projektami oraz możliwość zapisywania bądź otwierania plików bezpośrednio z serwera FTP. Brakuje niestety wsparcia dla ISO-8859-2 czy UTF-8.
Side
Zalety:
- prostota
- proste zarządzanie projektami
Wady:
- brak debugera
- brak automatycznych wcięć
- brak zintegrowanego klienta FTP
- brak zakładek w edytorze
- brak wyboru formatu końca linii
- brak wsparcia dla ISO-8859-2
Ma najmniejsze możliwości spośród prezentowanych. Nie ma debugera, ani nawet zintegrowanego klienta FTP. Opcje konfiguracyjne ograniczają się właściwie do zmian kolorystyki programu. Nie robi automatycznie wcięć w blokach kodu, zachowuje jedynie poziom ustalony przez programistę.
Pomaga jednak w zarządzaniu prostym projektem (sprowadza się to do dodania ścieżki, w której znajdują się wszystkie pliki projektu), podpowiada nazwy zmiennych oraz funkcji (jednak nie radzi sobie ze składowymi klas – są one dostępne na drzewku klas na jednej z zakładek).
Dzięki zakładkom instrukcje takie jak bloki warunkowe (if…else) czy podstawowe elementy systemu szablonów Smarty można umieścić w kodzie za pomocą jednego kliknięcia.
PHP Designer 2005
Zalety:
- zintegrowany klient FTP
- możliwość uruchomienia skryptu z poziomu edytora
- możliwość sprawdzenia poprawności składniowej kodu
- zarządzanie projektami
- szablony
- lista ToDo
- możliwość automatycznego zamykania nawiasów
Wady:
- ubogie podpowiadanie kodu (ograniczone do funkcji standardowych PHP)
- brak wsparcia dla CVS
- brak debugera
- brak wsparcia dla różnych stron kodowych (w tym ISO-8859-2)
PHP Designer 2005 ma wiele pasków narzędziowych i estetyczny interfejs pozwalający na zmianę skórek oraz uruchomienie skryptu bezpośrednio z niego – prezentuje wynik działania na osobnym panelu w postaci kodu HTML oraz strony internetowej. Nie brakuje zarządzania projektami i klienta FTP.
Na jednym z paneli znajduje się drzewo funkcji oraz klas w otwartym dokumencie (tym bardziej zaskakuje brak ich podpowiadania w trakcie pisania kodu).
Edytor został wyposażony w opcję sprawdzającą poprawność składniową kodu – Syntax check. Bardzo przydatnym dodatkiem jest menedżer ToDo, czyli lista elementów zaplanowanych do wykonania.
Natomiast nie ma co liczyć na sprawne podpowiadanie zmiennych, utworzonych funkcji czy składowych klas. Zabrakło także klienta CVS i możliwości wyboru strony kodowej podczas zapisywania plików.
jEdit
Zalety:
- wiele rozszerzeń wspomagających pracę nie tylko z językiem PHP
- wsparcie dla ISO-8859-2
- możliwy wybór znaku końca linii
- zwijanie bloków
Wady:
- utrudniona instalacja
- brak debugera
- niepoprawne podpowiadanie zmiennych oraz funkcji
Edytor napisany jest w Javie, jednak pracuje bardzo szybko i nie wymaga wielu zasobów komputera. Dzięki rozszerzeniom można wyposażyć go w obsługę podpowiadania zmiennych, funkcji, składowych klas oraz parametrów.
Nie ma problemu z zarządzaniem projektami, obsługą CVS czy wbudowanym klientem FTP. Jest także plugin sprawdzający poprawność kodu PHP – zaznacza błędy podobnie jak to się dzieje w edytorach tekstu.
>Nie najlepiej jest ze wsparciem dla kodu PHP5. Ponadto ze względu na rozdzielenie wielu funkcji na różne rozszerzenia może się okazać, że część z nich będzie wspierała nową wersję tego języka, podczas gdy inne będą kompatybilne jedynie z PHP4.
Można natomiast ustawić w tym edytorze odpowiednie dla polski kodowanie (ISO-8859-2 lub UTF-8) oraz odpowiadający nam znak końca linii (DOS, UNIX, MacOS).
Niestety plugin phpComplettion, którego zadaniem jest wyświetlanie list ze zmiennymi oraz funkcjami, nie zawsze działa poprawnie. Wadą tego edytora jest także kłopotliwa instalacja, która wiąże się z koniecznością doinstalowania wielu rozszerzeń.
Maguma Open Studio
Zalety:
- łatwy i wygodny w obsłudze
- sprawne podpowiadanie kodu w PHP4
- zintegrowany klient FTP
- zarządzanie projektami
- wbudowany debuger
Wady:
- brak wsparcia dla CVS
- brak wsparcia dla różnych stron kodowych (w tym ISO-8859-2)
- brak wsparcia dla PHP5
- brak możliwości wyboru znaku końca linii
Edytor ten może uzupełniać kody (zarówno zmiennych, jak i funkcji czy składowych klas), nie ma jednak co liczyć na wsparcie dla PHP5 (np. nie radzi sobie z metodami statycznymi i odwołaniem do nich w postaci Klasa::metoda()).
Nie można wybrać strony kodowej w jakiej mają zostać zapisane pliki, ani znaku końca linii. Brakuje także wsparcia dla CVS. Jest natomiast możliwość zarządzania projektami, wbudowany debuger oraz klient FTP.
Edytor jest wygodny w użyciu. Pozwala na uruchomienie, zrestartowanie bądź zatrzymanie z poziomu menu Apache\’a i MySQL-a.
Eclipse + PHPEclipse
Zalety:
- zarządzanie projektami
- wsparcie dla wielu stron kodowych (w tym
ISO-8859-2) - wsparcie dla CVS
- możliwość współpracy z debugerem
- dostęp do dodatkowych rozszerzeń
- działanie pod wieloma systemami operacyjnymi
- zwijanie bloków kodu
Wady:
- wielkość oraz wymagania aplikacji
- nietypowa obsługa
- niepoprawne wsparcie dla PHP5
Eclipse jest edytorem wspomagającym tworzenie aplikacji w języku Java. Jednak dzięki swej popularności oraz modularnej budowie powstało do niego rozszerzenie PHPEclipse wspomagające w pracy programistę PHP.
Tandem ten oferuje podpowiadanie kodu (nie do końca radzi sobie z PHP5), wsparcie dla CVS, wbudowanego klienta FTP (dodatkowy plugin), zaznaczanie błędów składniowych w kodzie.
Dodatkowo ułatwia wprowadzanie komentarzy zgodnych np. z PHPDocumentatorem, zwija bloki kodu, pozwala zapisać pliki z dowolnym kodowaniem.
Niestety, za funkcjonalność Eclipse płaci się dużymi wymaganiami aplikacji oraz koniecznością zarezerwowania ponad 100 MB miejsca na dysku. Jeszcze jedną wadą jest sposób jego instalacji (trzeba ręcznie rozpakować archiwum Eclipse, zainstalować w nim rozszerzenie PHPEclipse, a następnie ręcznie zainstalować i skonfigurować debuger) oraz nietypowy sposób obsługi.
Inne edytory
- vim (http://www.vim.org) – trudny w obsłudze, ale ma bardzo duże możliwości. Pracuje w trybie tekstowym.
- Emacs (http://www.gnu.org/software/emacs/) – większy, równie trudny w obsłudze.
- Quanta Plus (http://quanta.kdewebdev.org) – jeden z najlepszych edytorów na platformę Linux (KDE).
- PitPad (http://www.szczepanik.org/Software/Pitpad/) – mały, polski edytor, podobny do Notepada, ale o dużo większych możliwościach.
- FOX Edit (http://www.fox.com.pl/foxedit/) – również prosty, ale jeszcze nie skończony edytor.