Test von PHP-Skripten

Soll in einem PHP-Skript nach Fehlern gesucht werden, benötigt der PHP-Debugger eine JSON-Datei mit ein paar Angaben zum zu testenden Skript. Diese JSON-Datei muss in einem Unterordner mit dem Namen  .vscode  liegen.

Für den Einsatz von Visual Studio Code (kurz VS Code) mit print2forms ist der Inhalt der JSON-Datei sehr überschaubar:

launch.json
{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Remote",
            "type": "php",
            "request": "launch",
            "port": 9000
        }
    ]
}

Da das Anlegen eines Unterordners mit dem Namen  .vscode  wegen des Punktes zumindest in Windows nicht ganz so einfach ist, kann VS Code diese Aufgabe selbst übernehmen.

Man startet VS Code und öffnet den Ordner mit dem zu bearbeitenden PHP-Skript. Nachdem man das Skript in das Editorfenster übernommen hat, startet man den Debugger. Dieser zeigt an, dass ihm die Datei lauch.json fehlt - erkennbar am roten Punkt neben dem Zahnrad.

Ein Klick auf das Zahnrad und die Auswahl der gewünschten Skriptsprache erzeugen eine Standardversion der Datei. Diese wird auf den oben angegebenen Inhalt gekürzt. Die Zeichenkette name kann dabei frei gewählt werden.



Fehlersuche starten

Für die eigentliche Fehlersuche ist es unabdingbar, dass in VS Code exakt das Skript geöffnet ist, das auch vom print2forms-Gateway aufgerufen wird. Eine Ausnahme von dieser Regel gilt nur, wenn VS Code auf einem anderen Rechner läuft als print2forms. Hier wird aber davon ausgegangen, dass sich alle Programme auf einem Rechner befinden.

Üblicherweise möchte man ein Skript an einer kritischen Stelle anhalten, um sich dann dort die Inhalte von Variablen ansehen zu können, und ab dann vielleicht in Einschritten das weitere Skript zu verfolgen. Zum Anhalten werden die sogenannten Haltepunkte benutzt, die an einem roten Punkt links neben der Zeilennummer erkennbar sind. Haltepunkte können mit einem einfachen Klick links neben die Zeilennummer gesetzt und auch wieder gelöscht werden. Das geht im Editor auch ohne dass der Debugger gestartet ist.

Sind die Haltepunkte gesetzt, kann der Debugger durch einen Klick auf das Käfersymbol aufgerufen werden. Am oberen Rand des Fensters erscheint die Statusleiste des Debuggers. Mit einem Klick auf den grünen Pfeil wird der Debugger gestartet. Ausser dass eine schwebende Leiste mit Symbolen zur Steuerung des Debuggers eingeblendet wird, passiert erst einmal nichts weiter.

Jetzt kann die Applikation gestartet werden, die das print2forms-Gateway mit Druckdaten versorgt. Sobald das Gateway die Daten empfangen, verarbeitet und die PCL- und Indexdatei (oder beim Monitor die hochgeladene Datei) abgelegt hat, wird der PHP-Interpreter unter Nutzung der Kommandozeile des Gateways aufgerufen.

Der PHP-Interpreter kommuniziert jetzt über eine interne Netzwerkverbindung (Port 9000) mit dem Debugger und mit VS Code. Sobald der Interpreter an einer Skriptzeile angelangt ist, an der ein Haltepunkt gesetzt ist, wird das im Fenster von VS Code angezeigt. Der Benutzer hat jetzt die Gelegenheit, sich die Inhalte von Variablen anzusehen oder in Einzelschritten durch das Skript zu gehen.

Ein Klick auf den grünen Pfeil in der schwebenden Leiste lässt das Skript - eventuell bis zum nächsten Haltepunkt - weiterlaufen. Das rote Quadrat beendet den Debugger.



Hinweise