Heim >Backend-Entwicklung >PHP-Tutorial >Verwenden Sie PHPStan, um die Qualität des PHP-Codes zu verbessern
Hier stellen wir ein statisches Analysetool für PHP-Code vor: PHPStan, das den Code nicht ausführen muss, sondern auch eine strikte Syntaxerkennung für den Code durchführen und versuchen kann, den Code zu minimieren Lauffehlerrate.
PHPStan
Installation
Derzeit erfordert PHPStanV0.10.2 die Systemumgebung PHP Version ist mindestens 7.1. Global mit Composer installieren:
$ composer global require phpstan/phpstan
Verwenden Sie
Die statische PHPStan-Analyse ist sehr einfach zu verwenden:
$ phpstan analyse [-c|--configuration CONFIGURATION] [-l|--level LEVEL] [--no-progress] [--debug] [-a|--autoload-file AUTOLOAD-FILE] [--errorFormat ERRORFORMAT] [--memory-limit MEMORY-LIMIT] [--] [<paths>]...
Konfiguration: Ausführen Pfad zur Konfigurationsdatei;
Stufe: streng, 0-7, je größer, desto strenger
kein Fortschritt: Es wird kein Fortschritt angezeigt.
debug: Debug-Modus;
$ phpstan analyse --level=7 --autoload-file=/PATH/TO/vendor/autoload.php /PATH/TO/someone.phpPHPStan in VSCode
Natürlich sollte die Syntaxanalyse erfolgen Vom Editor ausgeführt Nach dem Schreiben des Codes ist es zu umständlich, zum Befehlsterminal zu wechseln, um phpstan auszuführen. Daher wird hier eine VSCode-Erweiterung empfohlen: PHP Static Analysis.
PHP Static Analysis
Verwenden Sie zunächst Composer, um PHPStan global zu installieren. Suchen Sie dann in der Erweiterungsverwaltung nach PHP Static Analysis Installieren Sie bei VSCode die erste passende Erweiterung. Nach dem erneuten Laden des VSCode-Neuladefensters analysiert die Erweiterung automatisch die unter VSCode geöffnete PHP-Datei.
Betriebseffekt: Zum Beispiel wird eine Variable deklariert, aber nicht aufgerufen, eine nicht deklarierte Variable wird aufgerufen, eine undefinierte Methode wird aufgerufen usw. In Auf diese Weise werden Fehler erkannt. Um es locker auszudrücken: Die Methode $this->array() existiert tatsächlich, sie wird jedoch durch die magische Methode __call() implementiert. PHPStan mit Laravel __call() oder __callStatic(). Viele Anwendungs-Frameworks verwenden viele magische Methoden für Eleganz, wie zum Beispiel Laravel. Die Verwendung von PHPStan zur Erkennung von Laravel-Projekten meldet natürlich viele Fehler beim Aufruf nicht deklarierter Klassenmethoden. Für dieses Problem können Sie Laravel-Ide-Helfer verwenden, um Fehlalarme zu reduzieren.Laravel-ide-helper installieren
$ cd /PATH/TO/LARAVEL_PROJECT $ composer require barryvdh/laravel-ide-helper
LaravelIdeHelper injizieren
Bearbeiten Sie die Registrierung in app/Providers/AppServiceProvider.php Methode:<?php ... public function register() { if ($this->app->environment() !== 'production') { $this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class); } // ... }_ide_helper.php generieren
$ cd /PATH/TO/LARAVEL_PROJECT $ php artisan ide-helper:generateZu diesem Zeitpunkt werden die Facade-Klasse im Laravel-Framework und die ursprünglich über __callStatic() erhaltenen statischen Methoden alle in _ide_helper.php deklariert Die Datei _ide_helper.php, wenn PHPStan Laravel-Projektcode erkennt, kann Fehlalarme reduzieren.
PHPStan-Konfiguration
Erstellen Sie im Stammverzeichnis des Laravel-Projekts eine neue phpstan.neon-Datei:parameters: autoload_files: - %currentWorkingDirectory%/_ide_helper.phpIm Stammverzeichnis des Laravel-Projekt, ausführen Wenn Sie den Befehl phpstan ausführen, wird automatisch die Konfiguration phpstan.neon verwendet. Empfohlenes Tutorial: „
PHP“
Das obige ist der detaillierte Inhalt vonVerwenden Sie PHPStan, um die Qualität des PHP-Codes zu verbessern. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!