Vérification de la qualité du code avec phpstan

DEV - 26/07
Assurer un code propre et maintenable est vital dans tout projet Laravel. Alors que Phpstan est un excellent ...

Assurer un code propre et maintenable est vital dans tout projet Laravel. Bien que le phpstan soit un excellent outil d'analyse statique pour identifier les problèmes de code, la sortie JSON brute qu'il génère n'est pas toujours adaptée à l'homme. C’est là qu'un script de rapport personnalisé est utile.

Dans cet article, je vais vous guider à travers un script bash que j'utilise dans mes projets Laravel pour analyser et embellir la sortie Phpstan. Ce script divise les problèmes par identifiant et génère un résumé soigné pour une analyse rapide.

📦 Prérequis

Avant d'utiliser le script, assurez-vous d'avoir Phpstan etjqinstallé.

Installer phpstan

Vous pouvez installer PHPSTAN via Composer:

le compositeur a besoin --Dev phpstan / phpstan Larastan / Larastan
Entrez le mode de sortie en mode plein écran

Créer un fichier de configuration phpstan au répertoire racine:

toucher phpstan.neon.dist
Entrez le mode de sortie en mode plein écran

Collez ensuite la configuration suivante:

Comprend: - Vendor / Larastan / Larastan / Extension.Neon Paramètres: TreatPhPDocTypesasCercer: Faux Paths: - App / - Config / - Database / - Routes / - Support / Nive
Entrez le mode de sortie en mode plein écran

Pour le moment, j'utilise le niveau 4 à 6, dépend des besoins du projet. Vous pouvez en savoir plus sur les niveaux de règles ici.

Installerjq

jqest un processeur JSON léger requis pour analyser la sortie JSON de PhpStan.

macos

Installer JQ
Entrez le mode de sortie en mode plein écran

Ubuntu / Debian

sudo apt-get install jq
Entrez le mode de sortie en mode plein écran

Fenêtre

Utilisez Chocolatey ou téléchargez manuellement à partir de https://stedolan.github.io/jq/download/

📁 Structure du répertoire recommandé

Project-ROOT / ├fique
Entrez le mode de sortie en mode plein écran

📂 Configuration du fichier

Créer.phpstanannuaire:

mkdir -p .phpstan
Entrez le mode de sortie en mode plein écran

Ajouter.gitignoredéposer.phpstanrépertoire et collez le contenu suivant. Ceci pour vous assurer de ne pas commettre les fichiers générés dans votre référentiel de code chaque fois que le script s'exécute.

*! .gitignore
Entrez le mode de sortie en mode plein écran

Créez ensuite un fichier àbac / phpstanDans votre projet Laravel:

MKDIR -P BIN TOUCH BIN / PHPSTAN CHMOD + X BIN / PHPSTAN
Entrez le mode de sortie en mode plein écran

Collez le script complet ci-dessous dansbac / phpstan:

#! / usr / bin / env bash Clear echo "exécuter phpstan ..." vendor / bin / phpstan --error-format = json> .phpstan / scan-result.json jq. .phpstan / scan-result.json> .phpstan / scan-result.pretty.json && mv .phpstan / scan-result.pretty.json .phpstan / scan-result.json input_file = ". phpstan / scan-result.json" output_dir = ". phpstan" if [[! -f "$ input_file"]]; puis écho "❌ fichier $ input_file introuvable." Exit 1 fi trouve "$ output_dir" -type f -name '* .txt' -delete # valider si le json a une touche "fichiers" et ce n'est pas nul si! jq -e '.files! = null et (.files | longueur> 0)' "$ input_file"> / dev / null; puis écho "ℹ️ aucun problème trouvé ou non valide de sortie JSON PHPStan". exit 0 fi mkdir -p "$ output_dir" echo "📂 Répertoire de sortie Ready: $ output_dir" echo "📄 Lecture de: $ input_file" jq -r '.Files as $ fi...
[Courte citation de 8% de l'article original]
Loading...