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

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

Guanhui
Libérer: 2023-04-08 18:54:02
avant
5112 Les gens l'ont consulté

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
Copier après la connexion

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>]...
Copier après la connexion
  • 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
Copier après la connexion

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
Copier après la connexion
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);
        }
        // ...
    }
Copier après la connexion

Generate _ide_helper.php

$ cd /PATH/TO/LARAVEL_PROJECT
$ php artisan ide-helper:generate
Copier après la connexion

À 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
Copier après la connexion
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!

Étiquettes associées:
php
source:segmentfault.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal