Durch den Quelltext surfen mit PHPXRef

SpinnennetzWo ist nun wieder die Konstante ADMINSTATUS_SUPERUSER definiert? Welche Funktionen enthält die Bibliothek login.php? Was bewirkt die Methode getPermissionList()?

Um diese Fragen zu beantworten, gibt es folgende Lösungen:

  1. Den Code so organisieren, dass solche Fragen gar nicht aufkommen
  2. Mittels find und grep die Sourcetree durchstöbern
  3. PHPXRef verwenden

Variante 1 ist wegen viel Legacy-Code nicht praktikabel. Variante 2 ist mühsam und erfodert einen Wechsel in die Shell. Wir bevorzugen Variante 3.

Was ist PHPXRef? PHPXRef ermöglicht ein einfaches durchstöbern des Quelltextes und erstellt gleich aus den im Code eingebetteten Docblocks eine Dokumentation.

Doku automatisch generiert

Das Perl-Tool durchläuft rekursiv ganze Verzeichnisbäume und übersetzt jedes Skript in HTML-Dateien. Ausserdem erzeugt es ein Verzeichnis aller im Projekt verwendeten Variablen, Konstanten, Funktionen und Klassen. Das Ergebnis sind eine Sammlung von verlinkten HTML-Dateien, welche in jedem Browser betrachtet werden können. Da die HTML-Seiten statisch sind und keine Datenbank notwendig ist, ist das navigieren durch die erzeugte Webseite extrem schnell.

Dank den Querverweisen zwischen den Bezeichnern kann sofort erkennt werden, welche Funktion in welchem Skript deklariert wird.

Jedes Skript kann in zwei Modi betrachtet werden. Den Source-Modus, wo der Quelltext angezeigt wird, syntax-highlighted. Und den “Summary”-Modus. Eine API-Dokumentation im Stil vom PHPDocumentor.

PHPXRef Source View
Summary View

PHPXRef Summary View
Source View

Dieses Skript lassen wir jede Nacht über die aktuellen SVN-Trunk laufen, so dass Dokumentation und Quelltext täglich aktuell ist.

This entry was posted in Programming, Web Development. Bookmark the permalink.

3 Responses to Durch den Quelltext surfen mit PHPXRef

  1. mix says:

    Ich muss schon sagen, obwohl ich nicht Fan von Tillate bin, der Blog ist immer wieder spannend zu lesen und hat gute Tipps drin (wie auch dieser).
    Werd ich mir mal anschauen 😉

  2. Danke, Mix. Auch ich als CTO, und erst noch verheiratet, bin nicht mehr in der Zielgruppe. Aber Freude an der Technik habe ich nach wie vor 🙂

  3. Pingback: Modul-Archiv für xt:Commerce