|  |
PHP-Entwicklung mit Eclipse

Mit freundlicher Genehmigung des T3N Magazins (Ausgabe 04/2006).
Neben den zu kompilierenden Programmiersprachen nehmen die interpretierten Sprachen
eine immer wichtigere Rolle in Softwareprojekten ein. Gute Entwicklungsumgebungen sind
deshalb auch für Sprachen wie Python, PHP und Perl notwendig, um die Übersicht über
umfangreichen Quellcode zu behalten und effizient zu entwickeln.
Nachdem im Artikel "Eclipse – Eine universelle Entwicklungsumgebung" 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.
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 (Offizielle PHP IDE-Website) 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.
Die Core-Komponente
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 Architektur von PHP IDE im Überblick.(Quelle: www.eclipse.org)
Die UserInterface-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.

Eclipse PHP IDE vor Aufruf der PHP Manual Funktion, die das Nachlesen der
API auf php.net ermöglicht. Detailansicht
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
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.
Installation von PHP IDE
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.
01/2007, Sven Wilhelm

|  | Sven Wilhelm arbeitet seit über zwei Jahren mit Eclipse. Er ist Gesellschafter der Firma moduleBox, spezialisiert auf Content- und Systems-Management und dort als technischer Leiter tätig.
|

Kommentare zu diesem Beitrag 
|  |  |

Weitere Beiträge zu diesem Thema
|  |  |
 |  |  | Die Contentmanager.days standen dieses Jahr unter dem Motto "Metamorphose". Eine Metamorphose beschreibt in der Natur einen regelmäßigen Prozess des Wandels. Übertragen auf das Content Management bedeutet das: Der Wandel ist beständig... |  |  |  | Das World Wide Web ist das am weitesten verbreitete und genutzte Softwaresystem, das jemals entwickelt wurde. Es nutzt eine relativ einfache, standardisierte Schnittstelle, um Informationen aus der ganzen Welt in sich zu vereinen... |  |  |  | Glaubwürdigkeit wird in der Geschäftswelt groß geschrieben. Das ist leicht anhand einiger Negativbeispiele zu belegen... |  |  |  | Die meisten Wissensmanagement-Aktivitäten vollziehen sich im Medium Sprache. Trotzdem spielt die Qualität dieses Mediums in der Theorie und in der Praxis des Wissensmanagements praktisch keine Rolle... |  |  |  | Der User will an erster Stelle erfahren, welche Kernaussage Ihr Text ihm vermitteln wird. Um ihm dies zu erleichtern, strukturieren Sie Ihren Text in unterschiedliche Teile... |  |
Beiträge aus anderen Themenbereichen
|  |  |
 |  |  | Im Interview spricht der Schirmherr der Initiative Prof. Dieter Spath über "Das Konstruktionsbüro für Dienstleistungen" und vieles mehr. Am 12. Oktober eröffnet Prof. Dieter Spath den VOICE Days plus Kongress... |  |  |  | Die Gestattung der privaten Nutzung der betriebseigenen IT-Infrastruktur durch die Mitarbeiter bringt nicht zu unterschätzende rechtliche Komplikationen mit sich – gerade was auch die Archivierung von E-Mails anbelangt... |  |  |  | Datenschutz spielt auch im eCommerce eine große Rolle. So müssen z.B. für den Betrieb eines Onlineshops die gesetzlichen Vorschriften zum Datenschutz eingehalten werden... |  |
|  | |  |