Comment utiliser PHP_CodeSniffer pour vérifier les spécifications du code (explication détaillée)

青灯夜游
Libérer: 2023-04-08 22:54:01
avant
3519 Les gens l'ont consulté

Comment utiliser PHP_CodeSniffer pour vérifier les spécifications du code (explication détaillée)

Certains étudiants n'ont peut-être pas encore entendu parler de cette chose. Voici une brève introduction :

PHP_CodeSniffer est un outil de détection de style de code. Il contient deux types de scripts, phpcs et phpcbf (adresse GitHub). Le script

phpcs définit une série de spécifications de code pour les fichiers PHP, JavaScript et CSS (généralement en utilisant les normes officielles de spécification de code, telles que PHP et PSR2) , qui peut détecter le code non conforme aux spécifications du code et émettre un avertissement ou une erreur (le niveau d'erreur peut être défini).

phpcbf Le script peut corriger automatiquement les parties du format de code qui ne respectent pas les normes. Par exemple, la spécification PSR2 nécessite une ligne vide à la fin de chaque fichier PHP. Ensuite, l'exécution de ce script ajoutera automatiquement une ligne vide à la fin.

Installation

Il est recommandé d'utiliser composer pour installer :

composer global require "squizlabs/php_codesniffer=*"
Copier après la connexion

Après l'installation, il sera dans the global Vendor Générez deux liens symboliques dans bin sous le répertoire :

phpcbf -> ../squizlabs/php_codesniffer/bin/phpcbf
phpcs -> ../squizlabs/php_codesniffer/bin/phpcs
Copier après la connexion

Si vous ne savez pas où se trouve le répertoire global Vendor, utilisez cette commande :

composer global config bin-dir --absolute
Copier après la connexion

Utilisation de la ligne de commande

À ce stade, vous pouvez réellement utiliser ces deux commandes avec bonheur :

Oh, mais si vous souhaitez utiliser ces deux globalement La commande est préférable de faire un lien logiciel sous /usr/local/bin~

$ phpcs test.php

FILE: /Users/stephen/Develop/Code/test.php
--------------------------------------------------------------------------------------------
FOUND 2 ERRORS AFFECTING 2 LINES
--------------------------------------------------------------------------------------------
 2 | ERROR | [ ] Missing file doc comment
 3 | ERROR | [x] TRUE, FALSE and NULL must be lowercase; expected "false" but found "FALSE"
--------------------------------------------------------------------------------------------
PHPCBF CAN FIX THE 1 MARKED SNIFF VIOLATIONS AUTOMATICALLY
--------------------------------------------------------------------------------------------

Time: 45ms; Memory: 4Mb

$ phpcbf test.php

PHPCBF RESULT SUMMARY
----------------------------------------------------------------------
FILE                                                  FIXED  REMAINING
----------------------------------------------------------------------
/Users/stephen/Develop/Code/test.php                  1      1
----------------------------------------------------------------------
A TOTAL OF 1 ERROR WERE FIXED IN 1 FILE
----------------------------------------------------------------------

Time: 49ms; Memory: 4Mb
Copier après la connexion

Intégré dans Sublime Text

Installer le plug- dans

PrérequisPackage Control Vous devez l'installer, tout ira bien avec ça (inexplicablement confiant, fuyez)

Installez le phpcs plug-in, et puis ouvrez le plug-in Settings - User et Settings - Default, copiez tout le contenu de ce dernier dans le premier.

Plug-in de configuration

Configurez les éléments de configuration suivants :

Chemin d'exécution de php dans l'environnement actuel

"phpcs_php_prefix_path": "/usr/bin/php",
Copier après la connexion

Le chemin d'exécution de phpcs dans l'environnement actuel

"phpcs_executable_path": "~/.composer/vendor/bin/phpcs",
Copier après la connexion

Paramètres supplémentaires ajoutés lors de l'exécution du script, généralement basés sur la spécification du code PSR2 comme standard, vous pouvez également choisir PSR1, PEAR, etc.

"phpcs_additional_args": {
    "--standard": "PSR2",
    "-n": ""
},
Copier après la connexion

Chemin d'exécution de phpcbf dans l'environnement actuel

"phpcbf_executable_path": "/Users/stephen/.composer/vendor/bin/phpcbf",
Copier après la connexion

Commencer à enregistrer et exécuter cbf Fonction de script

"phpcbf_on_save": true,
Copier après la connexion

Vous pouvez maintenant jouer joyeusement, après édition.php Après avoir enregistré le fichier avec le suffixe, il répondra automatiquement pour corriger les irrégularités du code.

Ce plug-in comporte également d'autres endroits où les spécifications du code peuvent être définies, tels que PHP Mess Detector settings, PHP Linter settings, PHP Scheck settings

J'en étudierai quelques autres la prochaine fois, mais ils me suffisent pour le moment, évadez-vous)

Intégré dans PhpStrom

Configurer Code Sniffer

Dans Paramètres -> Configurer phpcs dans Langages & Frameworks -> PHP -> Code Sniffer

Cliquez sur Configuration: Local à côté de ... et configurez le chemin du phpcs script d'exécution de l'environnement actuel, à côté de Il y a un bouton Validate pour vérification, et les deux autres paramètres conviennent par défaut. Parlons-en un peu ici.

Maxumum number of messages per file[1...100] : Chaque fichier affiche un nombre maximum d'éléments qui ne sont pas conformes à la spécification du code. Généralement, si 50 éléments apparaissent, vous avez beaucoup de travail à faire. En fait, 10 suffisent. surtout pour un code comme le mien. Pour les personnes atteintes de mysophobie terminale et de trouble obsessionnel-compulsif, un seul suffit. . .

Tool process timeout, sec[1...30] : Délai d'expiration pour l'exécution du script

Activer la vérification

Activez-la dans Paramètres -> Inspections

Trouvez l'option de validation PHP -> PHP Code Sniffer, vérifiez-la et configurez-la en détail sur le côté droit

J'ai activé Options -> Sélectionnez Attention. Un niveau d'invite plus élevé peut vous forcer. Il n'y a rien de mal à cela ~

Norme de codage Choisissez toujours PSR2. Si vous ne trouvez pas cette option, n'oubliez pas de cliquer sur le bouton d'actualisation à côté.

Réparation automatique

J'ai cherché pendant longtemps mais je n'ai pas trouvé que PhpStrom ait une option disponible qui prend en charge phpcbf, donc cela ne peut être réalisé grâce à External Tools.

Ajoutez-le dans Paramètres -> Outils -> Voici un de mes exemples, qui peut essentiellement être copié :)

Parameter Value
Name phpcbf
Description Automatically correct coding standard violations.
Program phpcbf
Parameters --standard=PSR2 "$FileDir$/$FileName$"

Vous pouvez maintenant le trouver dans Outils -> Outils externes dans la barre de menu et l'utiliser avec plaisir.

Frère Liang, c'est très gênant. . .

Ajoutez ensuite une touche de raccourci. . .

Ajouter des touches de raccourci dans Paramètres -> Keymap -> Outils externes -> Je l'ai défini sur Option + F, ou Alt + F sous Windows.

Honey Extension

n'était pas utilisé avant phpcbf, le code de réparation automatique utilisait php-cs-fixer, mais plus tard j'ai découvert que les deux fonctions C'est presque pareil, alors j'ai abandonné php-cs-fixer sur le principe de manquer un sac si je peux.

Si vous êtes intéressé, développez vos connaissances par vous-même~

Recommandé : "Tutoriel vidéo 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:
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