Zend Studio 2.0: Kammerjäger für PHP-Entwickler

Zend Technologies bringt mit Zend Studio 2.0 ein PHP-Development-Tool mit integriertem Debugger und einer Projektverwaltung auf den Markt, das allerdings Wünsche offen lässt.

Artikel erschienen in Swiss IT Magazine 2002/13

     

Zend Technologies ist eng mit der Entwicklung der OpenSource-Scriptsprache PHP verwoben und bietet viele verschiedene Programme für die Entwicklung und den Betrieb von PHP-Projekten an. Besonders beliebt sind unter anderem der Zend Optimizer und der Zend Accelerator, die dank diversen Tricks die Serverperformance bei der Abarbeitung von PHP-Scripten markant zu steigern vermögen, ohne dass der Einsatz zusätzlicher Hardware vonnöten wäre, oder der Zend Encoder, welcher die "Verschlüsselung" und Optimierung von PHP-Code ermöglicht. Zend Studio 2.0 markiert dabei den Anfang in dieser Produktelinie und dient dazu, die Entwicklung von PHP-Applikationen zu vereinfachen und zu beschleunigen.


Zend Studio im Detail

Zend Studio 2.0 besteht im wesentlichen aus zwei verschiedenen Programmteilen: dem Client und dem Server. Der Client, welcher die IDE mit Editor, Debugger und Projektmanagement umfasst, ist mit einer vorkompilierten Version von PHP 4.1.0 ausgestattet. Somit ist das Programm schon auf Einzelplatzrechnern voll funktionsfähig und erfordert keinen weiteren Webserver oder Debugging-Server. Wer in einem Entwicklerteam arbeitet, sollte sich einmal den zusätzlich erhältlichen Debugging-Server in Zend Studio 2.0 ansehen, welcher aus einem vorkompilierten Apache-Webserver und PHP-Modul besteht, der das Debugging auf einem externen Server erlaubt.
Die Installation des Clients inklusive des PHP-Moduls verläuft reibungslos. Das PHP-Modul wird in einem Subdirectory des Installationsverzeichnisses installiert und tangiert eventuell schon bestehende PHP-Installationen in keiner Weise. Eine zusätzliche Konfiguration ist nicht nötig. Arbeitsaufwand entsteht erst, wenn man Scripte mit Anbindung an eine Datenbank wie beispielsweise PostgreSQL oder MySQL programmiert: Um den Debugger nicht aus dem Tritt zu bringen, wird ein laufender Datenbankserver benötigt, um den man sich selber kümmern muss.



Das zentrale Element des Zend Studios ist der Editor, der neben Syntax-Highlighting für PHP und HTML die grundlegenden Funktionen eines Texteditors beherrscht. Praktisch ist die automatische Code-Vervollständigung, die sowohl für PHP als auch für HTML verfügbar, aber relativ simpel gehalten ist. So werden beispielsweise HTML-Tags nicht als Container geliefert, was den Schreibaufwand noch weiter verringern würde. Die automatische Code-Vervollständigung in PHP ist vor allem zu Beginn etwas gewöhnungsbedürftig, so entsprechen etwa die Strukturvorgaben in ihrer Auszeichnung nicht denen der PHP-Dokumentation. Ansonsten lässt sich das ganze Programm intuitiv bedienen. Weiter findet sich ein Projektverwaltungstool, welches in der letzten Version noch vermisst wurde. Damit lassen sich unter anderem auch Projekte direkt via FTP auf dem Webserver oder Workgroupserver bearbeiten. Allerdings reagiert das Programm dabei etwas behäbig und störrisch, so dass diese Art von Arbeit nicht wirklich angenehm verläuft, besonders wenn man via Internet auf den Entwicklungsserver in der Firma zugreifen will.




Mehr als die simple Zuordnung von Dateien zu einem Projektnamen ist leider nicht möglich. Hier besteht noch grosser Verbesserungsbedarf, besonders wenn man mit dem Zend Studio in einem Entwicklerteam arbeiten will. So würde beispielsweise eine Anbindung an CVS (Current Versions System), wie sie schon im Maguma Enterprise Environment der Maguma AG zu finden ist, dem ambitionierten Entwickler mehr Möglichkeiten eröffnen. Dies würde auch die Benutzerfreundlichkeit steigern, denn so müsste man sich nicht darauf konzentrieren, das gerade in Arbeit befindliche Script wieder in den Ursprungszustand versetzen zu können.




Scripte entwanzen

Die wohl interessanteste Neuerung ist der integrierte Debugger. Dank dem Zend Development Environment genannten IDE lassen sich wie schon erwähnt PHP-Scripte lokal entwanzen. Die Ausgabefenster sind dabei schön übersichtlich angeordnet und informieren über den aktuellen Zustand des Scripts.



Das Debugger-Fenster präsentiert die Hinweise, Warnungen und Errors des Parsers mit Zeilenangabe und eventueller Fehlerquelle, allerdings sind diese Angaben, das muss man leider sagen, nur wenig hilfreicher als die Ausgaben des PHP-Parsers. So werden beispielsweise die eher häufigen Parse-Errors nicht näher beschrieben, was oftmals viel Zeit und Ärger ersparen könnte.




Sehr praktisch ist dagegen die Überwachung von Variablen: Diese Funktion erlaubt im Verlauf des ganzen Scripts festzustellen, welchen Wert die zu beobachtende Variable gerade trägt. Dies ist vor allem bei umfangreichen Stringmanipulationen von Vorteil. Diese Werte werden aber nur für die jeweils letzte Halteposition des Parsers angegeben, so dass man sich teilweise mühsam von Zeile zu Zeile durchkämpfen muss, um den Fehler zu finden.



Ebenfalls praktisch ist das Stack-Fenster, welches Verweise auf schon definierte Funktionen weiterverfolgt und diese dann in bezug zum bisherigen Scriptverlauf überprüft. Auch werden per require(); oder include(); aufgerufene Scripte überprüft. So kann man sichergehen, dass nicht eine falsche Datenbankabfrage das ganze Script sabotiert oder dass eine Variable auf einmal einen ganz anderen Wert bekommt als vorgesehen ist. Ganz sympathisch ist ebenfalls das Ausgabefenster, welches in einer vereinfachten Variante die Ausgaben des Parsers darstellt. Für mehr als einen groben Überblick reicht dies aber nicht.



Wer öfters mit OOP arbeitet und mit Klassen und Objekten programmiert, wird einen Klassen- und Objekt-Browser vermissen, wie ihn beispielsweise PHPEdit bietet, eine kostenlose OpenSource-DIE. Ein derartiger Klassen- und Objekt-Browser listet sämtliche geladenen Konstrukte mit ihren Funktionen und Eigenschaften auf, was natürlich die Übersicht über das aktuelle Script signifikant verbessert.



So muss man zusammenfassend sagen, dass es sich beim Debugger eher um eine kleine Arbeitserleichterung handelt, deren Komfortgewinn in Anbetracht des doch etwas hohen Preises geschmälert wird. Das Fehlen einer ordentlichen Projektverwaltung im Stile von CVS stört vor allem bei grossen Projekten, ebenso die fehlende Unterstützung für OOP und die dazu benötigten Klassen und Objekte. Zwar sehen die Parse-Errors im Zend Development Environment optisch schöner aus als auf dem Webserver, mehr sagen sie aber kaum aus.



Dagegen ist die integrierte Variablenüberwachung überaus praktisch, da man sonst mit PHP-Bordmitteln eher unhandliche Flickwerke produzieren muss.



So bietet Zend Studio in Anbetracht des Editors und des Debuggers für kleinere bis mittlere Projekte einen durchaus zufriedenstellenden Funktionsumfang.



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

Anti-Spam-Frage: Welche Farbe hatte Rotkäppchens Kappe?
GOLD SPONSOREN
SPONSOREN & PARTNER