Effektives Entwickeln und Debuggen

Zend Studio 3.5 Plus ist eine flexible und leistungsfähige Entwicklungsumgebung.

Artikel erschienen in Swiss IT Magazine 2004/18

     

In den letzten Jahren erinnerte die Entscheidung für eine PHP-Entwicklungsumgebung an die Wahl zwischen Not und Elend. Während man sich in der .Net- und Java-Welt dank ausgefeilter Entwicklungsumgebungen mit unzähligen Wizards und praktischen Tools auf die wesentlichen Dinge konzentrieren konnte, musste man sich als PHP-Entwickler um viele Dinge selber kümmern. Funktionen wie Code Completition, Klassenbrowser, Syntaxprüfung oder Debugger existierten entweder nicht, funktionierten schlecht oder waren zu langsam.
Zend, die Firma, welche hinter der Entwicklung der Zend-Engine und somit des Sprachkerns von PHP steht, entwickelt seit mehreren Jahren eine eigene IDE, die zwar in den ersten Versionen nicht überzeugen konnte, aber seitdem mit jeder Version etwas besser wurde. Mit der Version 3.5 kann man sagen, soviel schon im Voraus, dass die Software nun endlich praxistauglich ist.


Frisches Outfit

Die wohl auffälligste Neuerung im Vergleich zu den Vorversionen ist das komplett überarbeitete Outfit. Auch wenn die Fenster innerhalb des Workspace zahlreicher geworden sind, wirkt die Oberfläche aufgeräumter und übersichtlicher. Die wichtigsten Funktionen sind schnell erreichbar, stört einen einmal ein Fenster oder eine Seitenleiste, kann man diese mit einem Klick verschwinden lassen. Die Fenster nisten sich dann über der Scrollbar ein und können ebenfalls mit nur einem Klick wieder hervorgeholt werden.
Geschraubt wurde auch am Syntax-Highlighting und den Farbschemata, die sich nun einfach gegen ein selber definiertes Schema austauschen lassen. Ebenfalls lässt sich für jedes spezifische PHP-, HTML- oder JavaScript-Sprachelement die Farbe gesondert einstellen, was besonders den Benutzern entgegenkommt, die von anderen Editoren herkommen und sich andere Farbkombinationen gewohnt sind. Auch ist es nun endlich möglich, Bitmap-Fonts für die Code-Darstellung zu verwenden, was praktisch ist, wenn man statt Courier spezielle Programmierer-Fonts einsetzt.






Ebenfalls zu begrüssen ist die massiv gesteigerte Performance der Applikation, die vor allem Anwendern mit weniger starken Rechnern oder exzessivem Multitasking entgegenkommt und der Ausführungsgeschwindigkeit vergleichbarer Applikationen wie Macromedia Dreamweaver entspricht. Dies spürt man insbesondere bei aufwendigeren Aufgaben wie dem Laden von Projekten und dem Bearbeiten von grossen Dateien. So zwang die Fehlermarkierung auf der rechten Seite des Editorfensters bei einem Script mit knapp 1000 Zeilen die Software in der Version 3 noch in die Knie, so dass einem beim Bearbeiten komplexer Strukturen unter Umständen das Gesicht einschlief. Dies scheint nun der Geschichte anzugehören: Die automatische Code-Evaluierung in Hinsicht auf Syntax-Fehler ist während der Arbeit kaum noch zu spüren. Dies ist insbesondere angenehm, wenn man einmal ein Anführungszeichen oder eine schliessende Klammer vergisst.
Ebenfalls besser gelungen ist die Integration der Cross-Plattform-Software auf den einzelnen Plattformen: So arbeiten sowohl die Dateidialoge (Windows) als auch die Eingabe von Sonderzeichen wie { oder [ (Mac OS X) im Gegensatz zu früher wie man es erwartet.


Gelenkschonendes Coding

Wie nicht anders zu erwarten, unterstützt das Zend Studio 3.5 nun auch sämtliche PHP-5-Sprachkonstrukte, Extensions und Funktionen. So werden im Gegensatz zur Vorversion Konstrukte wie public function beispiel() nicht mehr als Syntax-Fehler markiert. Der PHP-Support beschränkt sich aber nicht nur auf den Editor, sondern ist auch im Code-Analyzer und im integrierten Debugger zu finden.





Neben der Code-Completition, die auch PHPDoc-Kommentare unterstützt, die einem das mühsame Heraussuchen oder Navigieren in API-Dokumentationen erspart, ist der Template-Support ein äusserst praktisches Feature. Häufig benutzte Code-Snippets wie die Auswertung von Datenbankabfragen lassen sich unter einem Kürzel ablegen und durch die Eingabe dieses Kürzels in den aktuellen Quellcode einfügen. Dabei lässt sich direkt zu vordefinierten Marken springen (Variablennamen etc.), die für den jeweiligen Einsatzzweck angepasst werden müssen. Schliesslich wurden nun auch HTML-Sonderzeichen wie   (Non-Breaking Space) zur Code-Completition hinzugefügt.






Der Debugger, der unter anderem auch Haltepunkte und Sprungmarken kennt, vermag zu überzeugen und hilft vor allem bei grösseren Projekten mit viel Fremdcode und externen Klassen, den Überblick zu behalten und Fehler einzukreisen. Remote Debugging und «URL Debugging» erlauben, direkt in Interaktion mit einem Produktivsystem akute Probleme zu behandeln, was besonders praktisch bei Funktionstests einer frisch implementierten Applikation ist. Schade ist allerdings, dass die zugehörige Browserbar nur für den Internet Explorer verfügbar ist und somit Benutzer auf anderen Betriebssystemen als Windows nicht in den Genuss der Erweiterung kommen.
Der Code-Analyzer hilft dabei, noch vor der ersten Ausführung des Codes durch den Webserver Probleme und Unsauberheiten im Quellcode zu finden, beispielsweise nicht deklarierte Variablen oder nicht erreichbaren Code. Ebenfalls wird der Gebrauch veralteter Sprachkonstrukte (beispielsweise var statt public/protected/private bei der Definition von Klasseneigenschaften) bemängelt. Last but not least lassen sich mit Hilfe des integrierten Profilers auf einfache Weise Performance-Bremsen ausmachen.





Viel getan hat sich auch beim Code-Management. So wurden endlich die unzähligen Wünsche nach SFTP-Support (File-Transfer über SSH) erhört, welcher eine sichere Verbindung zum Produktionsserver und somit auch einen sicheren Upload von Daten erlaubt. Weiterhin wurde auch die Integration von CVS bezüglich Login und Diffing verbessert, allerdings scheint man bei Zend weiterhin kein Mittel gegen die Windows-übliche Linefeed-Carriage-Return-Krankheit gefunden zu haben, was vor allem dann mühsam wird, wenn mehrere Entwickler mit verschiedenen Betriebssystemen gemeinsam an einem Projekt arbeiten. Bedauerlich ist zudem, dass weitere Source-Code-Management-Tools wie Subversion oder Perforce nicht unterstützt werden.


Allein auf weiter Flur

Abschliessend lässt sich sagen, dass mit Zend Studio endlich eine PHP-IDE zur Verfügung steht, welche die wichtigsten Werkzeuge zur Entwicklung komplexer PHP-Applikationen umfasst. Kaum eine alternative Software bietet ähnlich starke Tools, die gleichzeitig auf dem neusten Stand sind und einigermassen schnell arbeiten. Vor allem die Debugger-/Profiler-Kombination sucht ihresgleichen. Auch die Code-Completition, die nicht nur PHP-eigene Funktionen, sondern auch selber deklarierte Funktionen und Methoden aus Fremdcode wie beispielsweise PEAR unterstützt, ist eine unschätzbare Arbeitserleichterung.






Wirklich schade ist, dass Zend Studio momentan einzig CVS als SCM-Lösung unterstützt. Allerdings lässt sich hoffen, dass Zend wie schon beim SFTP-Support auf die Benutzergemeinde hört und in einer der nächsten Ausgaben mindestens eine Unterstützung für Subversion hinzufügt.
Der Preis von 249 Dollar geht vor allem im Vergleich zu den IDEs für .Net und Java sowie der einzigen einigermassen gleichwertigen PHP-Lösung NuSphere in Ordnung. Um regelmässige Updates zu bekommen und die Upgrades mitmachen zu können, werden jedes Jahr weitere 54 Dollar fällig.




Artikel kommentieren
Kommentare werden vor der Freischaltung durch die Redaktion geprüft.

Anti-Spam-Frage: Wieviele Fliegen erledigte das tapfere Schneiderlein auf einen Streich?
GOLD SPONSOREN
SPONSOREN & PARTNER