Vorstellung von Tools zur Entwicklung mit der beliebten Webskriptsprache: PHP-Entwicklung mit Eclipse
Nachdem im letzten Artikel einige grundlegende Begriffe zu Eclipse erläutert wurden, werden in diesem Artikel PHP-Entwicklungsumgebungen für Eclispse vorgestellt. Neben PHPeclipse und Xored TruStudio wird dabei mit PHP IDE die wohl zukunftsträchtigste Lösung im Mittelpunkt stehen. Im letzten Teil dieser Serie eines Online-Workshops wird ein kleines Projekt realisiert, in dem alle Tools zum Einsatz kommen, die Sie bis zum dritten Teil der Serie kennen gelernt haben, unter anderem Eclipse, PHP IDE, Web Standard Tools und Subversion.
T3N 02/2006 |
Eclipse: Eine universelle Entwicklungsumgebung |
In dieser Ausgabe |
PHP-Entwicklung mit Eclipse |
T3N 04/2006 |
Vorstellung der Teamfeatures von Eclipse (Workshop) |
PHPeclipse – die Community Variante
Mit PHPeclipse entstand schon recht früh ein von der Community initiiertes Projekt mit dem Ziel, Eclipse für die Entwicklung von PHP-Projekten zu nutzen. Das Projekt ist über die Zeit sehr gereift und heute das wohl bekannteste und meist genutzte Eclipse-Projekt für PHP. Zum Funktionsumfang gehören ein leistungsfähiger PHP-Editor mit Syntax-Highlighting und Autovervollständigung, die Fähigkeit, HTML zu bearbeiten und einige Debugging-Funktionen. Weitere Informationen zu diesen Projekt wie auch Screenshots sind auf der Webseite des Projekts verfügbar.
Xored TruStudio – IDE mit attraktiven Ansätzen
Xored ist ein kommerzieller Anbieter von IDEs für Skriptsprachen. Neben PHP beherrscht das TruStudio getaufte Produkt auch die Skriptsprache Python. Das Produkt existiert in einer Community-Version und einer kommerziellen Variante mit erweitertem Funktionsumfang. Positiv fällt an TruStudio die Anlehnung an das Look&Feel der Java Development Tools auf. So lieferte diese Lösung bis vor kurzem als einzige der drei hier vorgestellten Kandidaten einen Package-Explorer, der es dem Entwickler erleichtert, durch den Quellcode auf Basis von Paketen, Klassen und Funktionen zu navigieren. Gegenüber der oft genutzten Ansicht „Navigator“ (der Standard-Ansicht, um verschiedene Arten von Dokumenten hierarchisch darzustellen) ist dies ein klarer Vorteil.
Leider scheint das Produkt nicht mehr aktiv weiterentwickelt zu werden, weshalb es höchstens noch als Referenz für gute Konzepte dienen kann.
PHP IDE – offizielles Eclipse Subprojekt
Sorgten in der Vergangenheit bereits zwei verfügbare IDEs für ein wenig Auswahl, gesellt sich nun mit PHP IDE [1] ein dritter Kandidat in die Runde. IBM und Zend starteten das Projekt gemeinsam unter dem Dach von Eclipse. Im Oktober 2005 angekündigt, plant das Projekt bereits im September 2006 die Veröffentlichung der Version 1.0. Die schnelle Entwicklung erklärt sich durch die Tatsache, dass das Projekt auf die Vorarbeit des Web Tools Projekt (WTP) aufsetzt, einem weiteren Unterprojekt von Eclipse, das Werkzeuge für die Verarbeitung von Dokumenten wie XML/XHTML, CSS und Javascript bereitstellt. PHP IDE realisiert dabei die neuen Komponenten Core, UserInterface und Debug.
Komponenten
Die Core-Komponente stellt Modelle zur Verwaltung der Sprache und dem Auflösen von Bibliotheksabhängigkeiten zur Verfügung. Außerdem stehen Builder und Code Formatierer für die Sprache zur Verfügung. Die Core Komponente stellt die stabile Basis für das UserInterface und die Debug Komponente.
Die UserInterface-Komponente stellt einen spezialisierten Editor und mehrere Ansichten zusammen mit einer PHP-Perspektive bereit. Der Source-Editor fügt sich, wie in der Architekturgrafik angedeutet, nahtlos an das Web Tools Projekt ein. Als sogenannter strukturierter Editor stellt er die bekannten Funktionen wie Syntax-Highlighting, Autovervollständigung und Quellcode-Faltung zur Verfügung. Unter Quellcode-Faltung ist die optische Teilausblendung von Quellcode innerhalb des Editors zu verstehen, die etwa aktuell nicht relevante Teile wie PHPDoc-Kommentare unterdrückt und damit dem Entwickler eine bessere Übersicht über den Quellcode liefert. Leistungsfähige Funktionen wie Code-Templates, die während des Editierens automatisch zur Verfügung stehen, um Fehler von typische Routinen fernzuhalten, sind, wie Bookmarks, Taskverwaltung und das Setzen von Breakpoints, weitere Eigenschaften des Editors. Neben dem Editor geben zahlreiche Ansichten detaillierte Auskunft über das in Bearbeitung befindliche Projekt. Der Package Explorer liefert, ähnlich wie TruStudio, eine erweiterte Ansicht auf die Ressourcen mit der Möglichkeit, neben der Darstellung der Dateien auch in die Dateien auf Basis von Klassen und Variablen zu navigieren. Die PHP-Project-Outline-Ansicht liefert eine Auflistung aller im Projekt erfassten PHP-Ressourcen auf Basis der drei Kategorien Klassen, Funktionen und Konstanten. Diese Informationen ergänzt die PHP-Functions-Ansicht um eine Auflistung der von PHP zur Verfügung gestellten Methoden. Durch Anklicken der Funktion wird diese in den Quellcode eingefügt.
Eine Besonderheit steht hier, wie auch im Editor, zur Verfügung: Durch Markierung einer PHP-Methode und der Auswahl des Eintrags „Open PHP Manual“ im Kontextmenü wird die Beschreibung der Methode durch Aufruf der entsprechenden URL von www.php.net direkt im integrierten Webbrowser angezeigt. Die Anbindung der UserInterface-Komponente an die Standard-Ansichten Navigation, Outline, Tasks und Problems komplettieren das Bild. Die Debug-Komponente ist die dritte im Bunde und stellt ihre Funktionalität über eine eigene Perspektive zur Verfügung. Ein Debugger von Zend wird bereits mitgeliefert, es besteht aber auch die Möglichkeit, PHP IDE an einen auf dem Webserver laufenden Debugger anzubinden.
Die Installation von PHP IDE gestaltet sich recht einfach. Neben der Möglichkeit, die Installation als heruntergeladenes Bundle durchzuführen (verfügbar auf der Projektseite), stellt die Installation über eine bereits existierende Eclipse 3.2 Version und der Update-Site-Funktion die bessere Wahl dar. Wählt man den Weg über die Update-Site, ist zu beachten, dass alle Abhängigkeiten von PHP IDE zu anderen Projekten (vier Stück an der Zahl) aufgelöst werden müssen. Man kann sich diese Mühe sparen, indem man auf das vor kurzem veröffentlichte Callisto-Release setzt. Mit diesem „Master-Release“ publizierte Eclipse aktuelle Versionen der Top-10-Projekte als Bundle.
Fazit
Mit PHP IDE entsteht eine sehr interessante und leistungsfähige Entwicklungsumgebung, deren Nutzung bereits möglich ist und sich lohnt. In Kombination mit WTP, Subversion, WebDAV und dem integrierten Webbrowser besitzt der Entwickler alle Werkzeuge, um seine Kommandozentrale nicht mehr verlassen zu müssen.