Larastan wurde von Can Vural und Nuno Maduro erstellt, das Artwork wurde von @Caneco entworfen, wird von Can Vural und Viktor Szépe gepflegt und ist eine PHPStan-Erweiterung für Laravel. Larastan konzentriert sich darauf , Fehler in Ihrem Code zu finden . Es fängt ganze Fehlerklassen ab, noch bevor Sie Tests für den Code schreiben .
Per Definition lädt die „statische Analyse“ jedoch keinen Code Ihrer Anwendung. Larastan bootet den Container Ihrer Anwendung, sodass er Typen auflösen kann, die nur zur Laufzeit berechnet werden können. Deshalb verwenden wir den Begriff „Code-Analyse“ statt „statische Analyse“.
Laravel-Version | Larastan-Version |
---|---|
< 9 | 1.x |
> 9.0 && <11.15 | 2.x |
11.15+ | 3,0+ |
Erfordert:
1 : Zunächst können Sie Composer verwenden, um Larastan als Entwicklungsabhängigkeit in Ihrem Laravel-Projekt zu installieren:
composer require --dev " larastan/larastan:^3.0 "
Verwenden Sie Larastan zur Analyse von Laravel-Paketen? Möglicherweise müssen Sie
orchestra/testbench
installieren.
2 : Erstellen Sie dann eine phpstan.neon
oder phpstan.neon.dist
Datei im Stammverzeichnis Ihrer Anwendung. Es könnte so aussehen:
includes:
- vendor/larastan/larastan/extension.neon
- vendor/nesbot/carbon/extension.neon
parameters:
paths:
- app/
# Level 10 is the highest level
level: 5
# ignoreErrors:
# - '#PHPDoc tag @var#'
#
# excludePaths:
# - ./*/*/FileToBeExcluded.php
Alle verfügbaren Optionen finden Sie in der PHPStan-Dokumentation: https://phpstan.org/config-reference
3 : Abschließend können Sie mit der Analyse Ihres Codes mit dem phpstan-Konsolenbefehl beginnen:
./vendor/bin/phpstan analyse
Wenn Sie die Fehlermeldung Allowed memory size exhausted
erhalten, können Sie das Problem mit der Option --memory-limit
beheben:
./vendor/bin/phpstan analyse --memory-limit=2G
Das Ignorieren eines bestimmten Fehlers kann entweder mit einem PHP-Kommentar oder in der Konfigurationsdatei erfolgen:
// @phpstan-ignore-next-line
$ test -> badMethod ();
$ test -> badMethod (); // @phpstan-ignore-line
Beim Ignorieren von Fehlern in der Konfigurationsdatei von PHPStan werden diese ignoriert, indem ein regulärer Ausdruck basierend auf Fehlermeldungen geschrieben wird:
parameters :
ignoreErrors :
- ' #Call to an undefined method .*badMethod()# '
In älteren Codebasen kann es schwierig sein, die Zeit damit zu verbringen, den gesamten Code zu reparieren, um ein hohes PHPStan-Level zu erreichen.
Um dies zu umgehen, kann eine Baseline-Datei erstellt werden. Die Baseline-Datei erstellt eine Konfigurationsdatei mit allen aktuellen Fehlern, sodass neuer Code nach einem höheren Standard als der alte Code geschrieben werden kann. (phpStan-Dokumente)
./vendor/bin/phpstan analyse --generate-baseline
Eine Liste konfigurierbarer Regeln speziell für Laravel finden Sie hier.
Eine Liste der Larastan-Funktionen finden Sie hier.
Eine Liste der für Larastan spezifischen PHPDoc-Typen finden Sie hier.
Eine Liste der benutzerdefinierten Konfigurationsparameter, die Sie in Ihrer PHPStan-Konfigurationsdatei verwenden können, finden Sie hier.
Einige Teile von Laravel sind derzeit zu magisch, als dass Larastan/phpStan sie verstehen könnten. Wir haben häufige Fehler aufgelistet, die Sie ignorieren und bei Bedarf hinzufügen sollten
Vielen Dank, dass Sie darüber nachdenken, einen Beitrag zu Larastan zu leisten. Alle Beitragsrichtlinien sind hier aufgeführt.
Larastan ist eine Open-Source-Software, die unter der MIT-Lizenz lizenziert ist.