Normalerweise kümmert sich um die Syntax-Überprüfung bereits die IDE, während des Schreibens. Manchmal kommt es aber vor, dass man keine IDE zur Verfügung hat oder der PHP-Code aus einer gänzlich anderen Quelle stammt. In diesem Fall kann es sinnvoll sein, die Syntax mittels eines Skripts zu überprüfen.
Das folgende Skript durchläuft sämtliche PHP-Dateien in einem Verzeichnis (inkl. aller Unterverzeichnisse) und führt sie mit dem Konsolenbefehl php -l aus. Dieser prüft die Syntax der Datei und meldet sich im Falle eines Fehlers.
<?php
$directoryIterator = new RecursiveDirectoryIterator(__DIR__);
$iterator = new RecursiveIteratorIterator($directoryIterator);
foreach($iterator as $file) {
if($file->getExtension() == 'php') {
exec('php -l '.escapeshellarg($file->getPathname()), $output, $exitCode);
if($exitCode > 0) {
var_dump($output);
}
}
}