Avatar ·

So führen Sie eine statische Code-Analyse in PHP durch: Tools und Anwendungsbeispiele

Hallo zusammen! Ich schreibe seit etwa einem Jahr PHP, und mein Projekt (ein Online-Shop mit eigener Engine) ist auf über 50 Dateien angewachsen. Mir ist aufgefallen, dass seltsame Fehler im Code auftauchen: mal ist eine Variable nicht deklariert, mal wird eine Methode auf null aufgerufen, mal stimmen die Typen nicht überein. Solche Bugs manuell zu suchen, ist einfach die Hölle. Ich habe gehört, dass es in anderen Sprachen (z.B. TypeScript oder Java) statische Code-Analyse gibt – Programme, die den Code vor der Ausführung überprüfen. Aber wie funktioniert das in PHP? Gibt es so etwas Ähnliches? Ich habe versucht, strikte Typen (declare(strict_types=1)) und error_reporting(E_ALL) zu aktivieren, aber das fängt keine logischen Fehler. Zum Beispiel habe ich diesen Code: ```php function calculateDiscount($price, $percent) { return $price - ($price * $percent / 100); } $total = calculateDiscount(1000, '10%'); // Tippfehler: String übergeben echo $total; // Gibt 1000 aus, weil der String zu 0 konvertiert wurde ``` Ich hätte erwartet, dass PHP zumindest eine Warnung ausgibt, dass ich einen String statt einer Zahl übergebe. Aber es passierte nichts –