5 – Projektpraxis
420
im Windows-Helpfile-Format (CHM)
als Docbook XML
Die HTML-Versionen der Dokumentation sind dabei am weitesten verbreitet. Der Vorteil
liegt darin, dass auf Verweise zu anderen Klassen und deren Methoden über Hyperlinks
zugegriffen werden kann. Dadurch entsteht ein Mehrwert im Vergleich zu einer rein tex-
tuellen Dokumentation.
Abbildung 5.49: Eine mit PHPDocumentator erstellte HTML-Dokumentation
Fehler finden mit XDebug
Beim Erstellen Ihrer ersten PHP-Klassen ist Ihnen wahrscheinlich bereits aufgefallen,
dass Fehler im Quellcode oft nur schwer erkannt werden können. Der Befehl var_
dump($x) ist zwar hilfreich, die Ausgabe eines einzelnen, komplexen Objekts $x kann
jedoch bereits sehr unübersichtlich sein.
Tritt ein Fehler auf, so erhält man im Internetbrowser des Clients oft keinerlei Ausgabe.
Die Frage, in welcher Methode gerade ein Fehler aufgetreten ist, lässt sich bislang nur
anhand von Statusausgaben beispielsweise in einer Logdatei realisieren. Gerade bei
komplexeren Anwendungen ist dies unzureichend.
Um diesen Zustand zu verbessern, wurde die PHP-Erweiterung XDebug entwickelt, die
als Open-Source-Anwendung sowohl für MS Windows als auch für Linux verfügbar ist.
Wie bei PHPUnit bereits beschrieben, wird auch XDebug über den PEAR-Installer in den
entsprechenden WAMP- bzw. LAMP-Server integriert. Dabei bietet XDebug im Wesent-
lichen zusätzlich zu PHP:
eine verbesserte var_dump-Ausgabe
eine Beschränkung der Rekursionstiefe bei Methodenaufrufen
Please purchase PDF Split-Merge on www.verypdf.com to remove this watermark.
Erstellung von gutem Quellcode
PHP – Endlich objektorientiert 421
eine Protokollierung der aufgerufenen Methoden incl. deren Ein- und Ausgabepara-
metern (Stack Trace)
eine Messung des Laufzeitverhaltens und des benötigten Speichers von PHP-Skrip-
ten auf dem Server (Profiling)
eine Analyse der Codeabdeckung (Code Coverage), um zu prüfen, ob nie genutzte
Codeteile existieren
die Möglichkeit, eine interaktive Fehleranalyse unter Verwendung von Haltepunkten
und einer Einzelschrittausführung von PHP-Skripten durchzuführen
Abbildung 5.50 zeigt die XDebug-Ausgabe eines Skript-Tracings. Entwickeln Sie in einer
PHP-Entwicklungsumgebung, so können diese Ausgaben meist in einer besseren grafi-
schen Formatierung dargestellt werden.
Abbildung 5.50: Konsolenausgabe von XDebug
Der Editor PHPedit
Bei PHPedit in der aktuellen Version 3.4.4 handelt es sich um einen Editor für PHP-Code,
der neben Syntax-Highlighting auch eine Projektverwaltung, eine automatische Vervoll-
ständigung von Befehlen und Debug-Tools beinhaltet.
Neben der Dokumentation mit PHPDocumentator können auch SVN und PHPUnit in
den Editor integriert werden. PHPedit verfügt außerdem über ein FTP-Tool, mit dem Sie
die erstellten Skripte automatisch auf einem Server hochladen können.
PHPedit ist für Windows-Plattformen ausgelegt und benötigt das Microsoft-.NET-
Framework 2.0. Von der Homepage können Sie eine kostenlose
30-tägige Testversion herunterladen. Neben einer kostenlosen Studentenversion als
„Personal License“ zu Lernzwecken existiert eine Professional-Lizenz für Unternehmen,
die 89 € kostet. Diese Lizenz beinhaltet aber leider nur den reinen Editor. Für die Nut-
zung von FTP, SVN und PHPUnit müssen Sie die Premium-Lizenz erwerben, die 179 €
kostet.
Please purchase PDF Split-Merge on www.verypdf.com to remove this watermark.
5 – Projektpraxis
422
Abbildung 5.51: Der Quellcodeeditor PHPEdit
Der Editor UltraEdit
Der für Windows und neuerdings für Linux erhältliche Editor UltraEdit existiert bereits
in der 15. Version. Im Gegensatz zu PHPedit ist UltraEdit nicht auf die Sprache PHP
beschränkt und unterstützt zusätzlich eine Syntaxhervorhebung für C/C++, VisualBa-
sic, HTML, Java und Perl mit Optionen für Fortran und LaTex. Andererseits ist die
Abstimmung auf PHP natürlich nicht so weit fortgeschritten wie bei PHPedit. So fehlt
eine feste Integration von Werkzeugen wie PHPUnit, SVN oder PHPDocumentator.
Stattdessen verfügt UltraEdit über eine Werkzeugkonfiguration, mit der Anwendungen
auf der Kommandozeile durch einen Mausklick oder über eine Tastenkombination ange-
stoßen werden können, deren Ausgabe in den Editor umgeleitet werden kann. Auf diese
Weise können andere Werkzeuge integriert werden.
UltraEdit bietet Unicode-Zeichensatzunterstützung, eine Rechtschreibprüfung für meh-
rere Sprachen, einen integrierten FTP-Client, eine konfigurierbare Tastenbelegung, einen
Hex-Editor sowie eine HTML-Werkzeugleiste.
Unter finden Sie weitere Informationen zu dem Editor,
dessen Einzellizenz ca. 50 € kostet.
Please purchase PDF Split-Merge on www.verypdf.com to remove this watermark.
Erstellung von gutem Quellcode
PHP – Endlich objektorientiert 423
Abbildung 5.52: Der Quellcodeeditor UltraEdit in der älteren Version 9.00c
Die Entwicklungsumgebung Eclipse für PHP
Während es sich bei PHPedit und UltraEdit in erster Linie um reine Quellcodeeditoren
handelt, sind Eclipse für PHP und das im folgenden Kapitel vorgestellte Zend Studio
Entwicklungsumgebungen, mit denen insbesondere größere Projekte verwaltet werden
können. Bei Eclipse handelt es sich um ein Open-Source-Projekt, das selbst in Java pro-
grammiert wurde. Es basiert auf einem OSGi-Framework namens Equinox und stellt
eine hochmodulare Plattform dar, die aus einem minimalen Kern besteht, auf den zahl-
reiche Plug-ins installiert werden können.
Die integrierte Entwicklungsumgebung wurde ursprünglich nur für Java-Anwendungen
verwendet und ist im Java-Umfeld sehr weit verbreitet. Die Entwicklungsumgebung selbst
unterstützt jedoch nicht nur eine einzige Programmiersprache. Das unter Windows, Linux
und Mac einsetzbare Werkzeug kann auf der Homepage im Down-
loadbereich auch in einer C/C++-Version und eben auch für PHP-Entwickler herunterge-
laden werden. Die Version „Eclipse for PHP Developers“ ist 139MB groß.
Die Integration der Sprache PHP ist in der Community bislang noch nicht so weit ausge-
prägt wie im Java-Umfeld. Dennoch lassen sich die meisten Hilfsprogramme wie Unit-
Testing, Debugging oder Versionierung als zusätzliche Plug-ins in die Entwicklungsum-
gebung integrieren.
Eclipse for PHP Developers integriert die so genannten Eclipse PHP Development Tools
(PDT), die Syntax Highlighting und weitere grafische Hilfsmittel für den Entwickler mit-
Please purchase PDF Split-Merge on www.verypdf.com to remove this watermark.
5 – Projektpraxis
424
bringen. So existiert beispielsweise eine grafische Symbolik für private und öffentliche
Eigenschaften bzw. Methoden und ein weiteres Symbol, das das Überschreiben einer
Methode von einer Oberklasse kennzeichnet.
Abbildung 5.53: Screenshot der Eclipse-Entwicklungsumgebung für PHP
Die Entwicklungsumgebung Zend Studio
Das Unternehmen Zend Technologies ist seit Jahren ein führender Anbieter von PHP-
Produkten und Dienstleistungen für die Entwicklung, Implementierung und Verwal-
tung von PHP-Anwendungen.
Zend beschreibt seine Entwicklungsumgebung Zend Studio in der aktuellen Version 7.0
als ein Integrated Development Environment (IDE) für professionelle Entwickler, in der
alle Entwicklungskomponenten enthalten sind, die für den gesamten Lebenszyklus von
PHP-Anwendungen benötigt werden.
Ebenso wie Eclipse integriert auch Zend Studio die Eclipse PDT, bietet jedoch im Ver-
gleich zu Eclipse for PHP Developers eine tiefere Integration der Sprache PHP. Eine
Ursache liegt darin, dass sich die Eclipse Foundation in erster Linie auf die Sprache Java
konzentriert, während Zend Studio ausschließlich für PHP ausgelegt ist. Ein weiterer
Please purchase PDF Split-Merge on www.verypdf.com to remove this watermark.