Effektives Entwickeln und Debuggen
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.