Maison  >  Article  >  développement back-end  >  Utilisez PHPStan pour améliorer la qualité du code PHP

Utilisez PHPStan pour améliorer la qualité du code PHP

Guanhui
Guanhuiavant
2020-06-08 09:14:204856parcourir

Utilisez PHPStan pour améliorer la qualité du code PHP

Nous introduisons ici un outil d'analyse statique du code PHP : PHPStan, qui n'a pas besoin d'exécuter le code, mais peut également effectuer une détection stricte de la syntaxe sur le code et essayer de minimiser le code. taux d'erreur d'exécution.

PHPStan

Installation

Actuellement, PHPStanV0.10.2 nécessite un environnement système PHP la version n'est pas inférieure à 7.1. Installer globalement avec Composer :

$ composer global require phpstan/phpstan

Utiliser

L'analyse statique PHPStan est très simple à utiliser :

$ phpstan analyse [-c|--configuration CONFIGURATION] [-l|--level LEVEL] [--no-progress] [--debug] [-a|--autoload-file AUTOLOAD-FILE] [--errorFormat ERRORFORMAT] [--memory-limit MEMORY-LIMIT] [--] [<paths>]...
  • configuration : Exécuter Chemin d'accès au fichier de configuration ;

  • niveau : niveau strict, 0-7, le plus grand, le plus strict

  • aucun progrès : aucune progression n'est affichée ;

  • debug : mode debug ;

  • autoload-file : chemin pour charger automatiquement les fichiers

  • errorFormat : format d'erreur ;

  • memory-limit : limite de mémoire ;

  • paths : chemins de fichiers à analyser.

Par exemple, analysez un fichier PHP :

$ phpstan analyse --level=7 --autoload-file=/PATH/TO/vendor/autoload.php /PATH/TO/someone.php

PHPStan dans VSCode

Bien sûr, l'analyse syntaxique doit être fait par l'éditeur Après avoir écrit le code, il est trop fastidieux de passer au terminal de commande pour exécuter phpstan. Voici donc une extension VSCode recommandée : PHP Static Analysis.

PHP Static Analysis

Utilisez PHPStan pour améliorer la qualité du code PHP

Tout d'abord, utilisez Composer pour installer PHPStan globalement, puis recherchez PHP Static Analysis dans la gestion des extensions ; de VSCode , installez la première extension correspondante ; après avoir rechargé la fenêtre de rechargement de VSCode, l'extension analysera automatiquement le fichier PHP ouvert sous VSCode.

Effet opérationnel :

Utilisez PHPStan pour améliorer la qualité du code PHP

Par exemple, une variable est déclarée mais pas appelée, une variable non déclarée est appelée, une méthode non définie est appelée, etc. de cette façon, les erreurs seront détectées.

Cependant, pour le dire vaguement, la méthode $this->array() existe réellement, mais elle est implémentée via la méthode magique __call().

PHPStan avec Laravel __call() ou __callStatic().

De nombreux frameworks d'applications utilisent de nombreuses méthodes magiques pour l'élégance, comme Laravel.

L'utilisation de PHPStan pour détecter les projets Laravel signalera naturellement de nombreuses erreurs lors de l'appel de méthodes de classe non déclarées. Pour ce problème, vous pouvez utiliser laravel-ide-helper pour réduire les faux positifs.

Installer laravel-ide-helper

$ cd /PATH/TO/LARAVEL_PROJECT
$ composer require barryvdh/laravel-ide-helper
Injecter LaravelIdeHelper

Modifier l'enregistrement dans app/Providers/AppServiceProvider.php Méthode :

<?php
    ...
    public function register()
    {
        if ($this->app->environment() !== &#39;production&#39;) {
            $this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);
        }
        // ...
    }

Generate _ide_helper.php

$ cd /PATH/TO/LARAVEL_PROJECT
$ php artisan ide-helper:generate

À l'heure actuelle, la classe Facade du framework Laravel et les méthodes statiques initialement obtenues via __callStatic() sont toutes déclarées dans _ide_helper.php , introduisant le fichier _ide_helper.php lorsque PHPStan détecte le code du projet Laravel peut réduire les faux positifs.

Configuration PHPStan

Dans le répertoire racine du projet Laravel, créez un nouveau fichier phpstan.neon :

parameters:
    autoload_files:
        - %currentWorkingDirectory%/_ide_helper.php

Dans le répertoire racine du Projet Laravel, exécuter Lors de l'exécution de la commande phpstan, la configuration phpstan.neon sera automatiquement utilisée.

Tutoriel recommandé : "

PHP

"

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer