Maison > Article > développement back-end > 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=*"
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
Si vous ne savez pas où se trouve le répertoire global Vendor
, utilisez cette commande :
composer global config bin-dir --absolute
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
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",
Le chemin d'exécution de phpcs
dans l'environnement actuel
"phpcs_executable_path": "~/.composer/vendor/bin/phpcs",
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": "" },
Chemin d'exécution de phpcbf
dans l'environnement actuel
"phpcbf_executable_path": "/Users/stephen/.composer/vendor/bin/phpcbf",
Commencer à enregistrer et exécuter cbf
Fonction de script
"phpcbf_on_save": true,
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!