Doxygen

Auch wenn phpDocumentor das Standardwerkzeug für die Code-Dokumentation von PHP-Projekten ist, so lohnt sich dennoch ein Blick auf Alternativen. Doxygen ist der etablierte Standard für die C++-Code-Dokumentation und unterstützt unter anderem auch PHP.

Die Verwendung von Doxygen gestaltet sich ein wenig aufwändiger als die von phpDocumentor. Mit doxygen -g ist zunächst für das zu dokumentierende Projekt eine Schablone für die Konfigurationsdatei (Doxyfile) zu erzeugen. Diese ist dann zu editieren, wobei Einstellungen wie Name und Version des Projektes ebenso vorzunehmen sind wie Detailgrad und Format der Ausgabe. Danach genügt ein einfacher Aufruf von doxygen in dem Verzeichnis, das die Datei Doxyfile enthält.

Doxygen "versteht" dieselben Tags wie phpDocumentor, erzeugt jedoch Code-Dokumentation, die über die von phpDocumentor gebotene hinausgeht. Hierzu gehören vor allem die automatisch generierten UML-Klassen- und Kollaborationsdiagramme.

Abbildung 13.5 zeigt beispielsweise die für den Konstruktor der Klasse PHPUnit2_Framework_TestCase erzeugte Dokumentation. Diese enthält unter anderem einen Aufrufgraph, der Informationen über die von der Methode aufgerufenen Methoden enthält.

Abbildung 13.5. Dokumentation für den Konstruktor der Klasse PHPUnit2_Framework_TestCase

Dokumentation für den Konstruktor der Klasse PHPUnit2_Framework_TestCase


Abbildung 13.6 zeigt die Klassenhierarchie der Schnittstelle PHPUnit2_Framework_Test (siehe Kapitel 4), Abbildung 13.7 das UML-Klassendiagramm.

Abbildung 13.6. Klassenhierarchie der Schnittstelle PHPUnit2_Framework_Test

Klassenhierarchie der Schnittstelle PHPUnit2_Framework_Test


Abbildung 13.7. UML-Klassendiagramm der Schnittstelle PHPUnit2_Framework_Test

UML-Klassendiagramm der Schnittstelle PHPUnit2_Framework_Test


Die Diagramme sind (dank HTML-Imagemap) klickbar, so dass man sich mit wenigen Klicks -- von Klasse zu Klasse, von Methode zu Methode -- durch die Code-Dokumentation navigieren kann.