PHPStan 2.0: Strengere TypprĂĽfungen und neues Analyse-Level
Das PHP-Codeanalyse-Tool nimmt Typen strenger unter die Lupe, fĂĽhrt einen neuen List-Typ ein und ĂĽberarbeitet die Speicherverwaltung.

(Bild: Sashkin/Shutterstock.com)
Nach knapp drei Jahren Weiterentwicklung liegt fĂĽr das quelloffene Codeanalyse-Werkzeug PHPStan Version 2.0 vor. Das Update bringt strengere TypprĂĽfungen, eine ĂĽberarbeitete Speicherverwaltung, einen neuen Listentyp, eine genauere Validierung des @var
-PHPDoc-Tags und eine reduzierte Abhängigkeit von Caching mit sich.
Level 10 fĂĽr eine strenge TypprĂĽfung
Eine der bedeutendsten Veränderungen des Updates ist die Einführung von Level 10, einem neuen Analyse-Level, das laut Ankündigungsbeitrag eine besonders strenge Typprüfung durchführt. Es zielt darauf ab, die Verwendung des mixed
-Typs in PHP-Code zu minimieren, indem es explizit typisierte mixed
-Werte erkennt und meldet.
Level 10 fordert Entwicklerinnen und Entwickler auf, genauere Typangaben zu machen und sicherzustellen, dass der Code nicht auf unbestimmte Typen angewiesen ist, die potenziell zu Laufzeitfehlern führen können.
Neuer Listentyp und optimierte Speicherverwaltung
Ein weiterer Schwerpunkt liegt auf der Einführung eines sogenannten List-Typs, einem Array mit fortlaufenden ganzzahligen Schlüsseln (Keys), die bei 0 beginnen und keine Lücken haben. Laut Ankündigungsbeitrag gehört List zu den fortgeschrittenen Typen, die in PHPDocs dargestellt werden können. In der Release-Ankündigung findet sich folgendes Beispiel:
/** @param list<int> $listOfIntegers */
public function doFoo(array $listOfIntegers): void
{
}
FĂĽr Entwicklerinnen und Entwickler soll dank einer klareren Definition spezifischer Datenstrukturen die Arbeit mit Arrays leichter sein.
PHPStan 2.0 nimmt Optimierungen an der Speicherverwaltung vor. Nach eigenen Angaben war es dem Entwicklerteam möglich, den Speicherverbrauch um bis zu 70 Prozent zu reduzieren, was sich offenbar positiv auf die Performance sowie auf die Geschwindigkeit der Analyse großer Codebasen auswirkt.
(Bild:Â AntonKhrupinArt/Shutterstock.com)
Die betterCode() PHP 2024 findet am 21. November statt. Die Online-Konferenz zur Programmiersprache PHP unterstĂĽtzt Entwicklerinnen und Entwickler dabei, ihre PHP-Anwendung von Altlasten zu befreien und auf Best Practices zu prĂĽfen. Seien Sie bereit fĂĽr die anstehenden Neuerungen: PHP 8.4, PHPUnit 12 und vieles mehr! Tickets und weitere Informationen bietet die Konferenz-Website.
Validierung des PHPDoc-Tags @var
Das Update ĂĽberarbeitet auch die Validierung des @var
-PHPDoc-Tags, also sogenannter Annotationen in PHP-Dokumentationskommentaren, die den Datentyp einer Variablen oder eines Ausdrucks angeben, um die Lesbarkeit zu verbessern und Typüberprüfungen durch Entwickler und Analysetools zu erleichtern. PHPStan 2.0 gleicht diese Tags mit den nativen Typen der zugewiesenen Ausdrücke ab, was dabei helfen soll, inkonsistente und potenziell fehlerhafte Typdeklarationen zu identifizieren. Zusätzlich überprüft PHPStan die Reinheit von Funktionen, die mit @phpstan-pure
gekennzeichnet sind, und meldet unzulässige Auszeichnungen als Fehler.
Schließlich reduziert PHPStan 2.0 die Abhängigkeit von Caching, was die Analyse beschleunigt und den Speicherplatzbedarf verringert. Die Entwicklung zielt darauf ab, die Zuverlässigkeit und Effizienz der Codeanalyse weiter zu steigern.
Nähere Informationen zu PHPStan 2.0 finden sich im Ankündigungsbeitrag auf dem PHPStan-Blog.
(mdo)