Utilisation

Utilisation – Information d'utilisation de base

Obtenir l'aide en ligne de commande

Executer PHP_CodeSniffer avec l'argument -h ou --help affichera une liste des commandes auxquelles PHP_CodeSniffer réponds. Le résultat obtenu par un phpcs -h est montré ci-dessous.


Usage: phpcs [-nwlvi] [--report=<report>] [--standard=<standard>]
    [--config-set key value] [--config-delete key] [--config-show]
    [--generator=<generator>] [--extensions=<extensions>]
    [--ignore=<patterns>] [--tab-width=<width>] <file> ...
        -n           Do not print warnings
-w           Print both warnings and errors (on by default)
        -l           Local directory only, no recursion
        -v[v][v]     Print verbose output
        -i           Show a list of installed coding standards
        --help       Print this help message
        --version    Print version information
        <file>       One or more files and/or directories to check
        <extensions> A comma separated list of file extensions to check
                     (only valid if checking a directory)
        <patterns>   A comma separated list of patterns that are used
                     to ignore directories and files
        <standard>   The name of the coding standard to use
        <width>      The number of spaces each tab represents
        <generator>  The name of a doc generator to use
                     (forces doc generation instead of checking)
        <report>     Print either the "full", "xml" "checkstyle",
                     "csv" or "summary" report
                     (the "full" report is printed by default)
 

L'argument --standard est optionnel, even if you have more than one coding standard installed. Si vous ne spécifiez aucune norme, PHP_CodeSniffer utilisera la norme de codage de PEAR pour éffectuer la vérification, ou la norme que vous avec fixé par défaut. Voir les instructions pour fixer les valeur par défaut des règles codage.

Vérifier des fichiers et des dossiers

La manière la plus simple d'utiliser PHP_CodeSniffer est de donner l'emplacement du fichier ou du dossier à vérifier. Si un dossier est donné, PHP_CodeSniffer vérifiera tous les fichiers trouvés dans ce dossier et récursivement.

Si vous ne désirez pas que les sous-dossiers soient pris en compte, utilisez l'argument -l pour forcer PHP_CodeSniffer à ne considerer que les fichiers directement dans le répertoire donné.

Dans l'exemple suivant, la première commande demande à PHP_CodeSniffer de vérifier les règles de codage sur le fichier mon_fichierfile.inc ensuite la seconde commande demande à PHP_CodeSniffer de vérifier tous les fichiers php dans le répertoire mon_repertoire.

Vérifier un fichier ou tout un répertoire


$ phpcs  /chemin/du/code/mon_fichierfile.inc
$ phpcs  /chemin/du/mon_repertoire

Vous pouvez aussi spécifier plusieurs fichiers ou dossiers à vérifier. La commande qui suit dit à PHP_CodeSniffer de vérifier le fichier mon_fichier.inc et tous les fichiers du répertoire mon_repertoire.

Vérifier plusieurs fichiers et dossiers


$ phpcs /chemin/du/code/mon_fichier.inc /chemin/du/code/mon_repertoire

Une fois que PHP_CodeSniffer a terminé son traitement de vos fichiers, il affiche un rapport. Ce rapport liste les erreurs et alertes pour l'ensemble des fichiers qui ne respectent pas la norme. L'affichage est comme suit:

Exemple de résultat de PHP_CodeSniffer


$ phpcs /chemin/du/code/myfile.php

FILE: /chemin/du/code/myfile.php
--------------------------------------------------------------------------------
FOUND 5 ERROR(S) AND 1 WARNING(S) AFFECTING 5 LINE(S)
--------------------------------------------------------------------------------
  2 | ERROR   | Missing file doc comment
 20 | ERROR   | PHP keywords must be lowercase; expected "false" but found
    |         | "FALSE"
 47 | ERROR   | Line not indented correctly; expected 4 spaces but found 1
 47 | WARNING | Equals sign not aligned with surrounding assignments
 51 | ERROR   | Missing function doc comment
 88 | ERROR   | Line not indented correctly; expected 9 spaces but found 6
--------------------------------------------------------------------------------

Si vous ne voulez pas que les avertissements soient inclus, ajoutez l'argument-n.

Exemple d'utilisation de PHP_CodeSniffer sans avertissements


$ phpcs -n /chemin/du/code/myfile.php

FILE: /chemin/du/code/myfile.php
--------------------------------------------------------------------------------
FOUND 5 ERROR(S) AFFECTING 5 LINE(S)
--------------------------------------------------------------------------------
  2 | ERROR | Missing file doc comment
 20 | ERROR | PHP keywords must be lowercase; expected "false" but found "FALSE"
 47 | ERROR | Line not indented correctly; expected 4 spaces but found 1
 51 | ERROR | Missing function doc comment
 88 | ERROR | Line not indented correctly; expected 9 spaces but found 6
--------------------------------------------------------------------------------

Obtenir un rapport sommaire

Par défaut, PHP_CodeSniffer affichera la liste complète de toutes les erreurs et avertissements qu'il trouve. Cette liste peut devenir longue particulièrement quand c'est une vérification d'un large nombre de fichiers en une fois. Pour afficher un rapport condensé qui ne montre que le nombre d'erreurs et de avertissements par fichier, utilisez l'argument --report=summary . L'affichage ressemblera alors à ceci:

Exemple de rapport PHP_CodeSniffer abregé


$ phpcs --report=summary /chemin/du/code

PHP CODE SNIFFER REPORT SUMMARY
--------------------------------------------------------------------------------
FILE                                                            ERRORS  WARNINGS
--------------------------------------------------------------------------------
/chemin/du/code/mon_fichier.inc                                        5       0
/chemin/du/code/yourfile.inc                                      1       1
/chemin/du/code/ourfile.inc                                       0       2
--------------------------------------------------------------------------------
A TOTAL OF 6 ERROR(S) AND 3 WARNING(S) WERE FOUND IN 3 FILE(S)
--------------------------------------------------------------------------------

Tout comme pour le rapport complet, vous pouvez demander d'ignorer les avertissements avec l'argument -n.

Exemple de rapport résumé avec PHP_CodeSniffer sans warning


$ phpcs -n --report=summary /chemin/du/code

PHP CODE SNIFFER REPORT SUMMARY
--------------------------------------------------------------------------------
FILE                                                                      ERRORS
--------------------------------------------------------------------------------
/chemin/du/code/mon_fichier.inc                                                  5
/chemin/du/code/yourfile.inc                                                1
--------------------------------------------------------------------------------
A TOTAL OF 6 ERROR(S) WERE FOUND IN 2 FILE(S)
--------------------------------------------------------------------------------

PHP_CodeSniffer verbeux

Par défaut, PHP_CodeSniffer s'execute sobrement, et se limite à l'affichage du rapport des erreurs et des alertes. Si vous vérifiez un large nombre de fichier, vous pouvez attendre un bout de temps avant d'obtenir le rapport. Si vous voulez savoir ce qui se passe pendant ce temps là, vous pouvez activer l'affichage des informations d'execution.

Avec l'affichage verbeux, PHP_CodeSniffer devrait imprimer le fichier en traitement, le nombre de "tokens" et de lignes que le fichier contient, et finalement la durée du traitement. L'affichage ressemble à ceci:

Exemple de rapport PHP_CodeSniffer bavard


$ phpcs /chemin/du/code/CodeSniffer -v
Registering sniffs in PEAR standard... DONE (24 sniffs registered)
Processing AbstractDocElement.php [1093 tokens in 303 lines]... DONE in < 1 second (0 errors, 1 warnings)
Processing AbstractParser.php [2360 tokens in 558 lines]... DONE in 2 seconds (0 errors, 1 warnings)
Processing ClassCommentParser.php [923 tokens in 296 lines]... DONE in < 1 second (2 errors, 0 warnings)
Processing CommentElement.php [988 tokens in 218 lines]... DONE in < 1 second (1 error, 5 warnings)
Processing FunctionCommentParser.php [525 tokens in 184 lines]... DONE in 1 second (0 errors, 6 warnings)
Processing File.php [10968 tokens in 1805 lines]... DONE in 5 seconds (0 errors, 5 warnings)
Processing Sniff.php [133 tokens in 94 lines]... DONE in < 1 second (0 errors, 0 warnings)
Processing SniffException.php [47 tokens in 36 lines]... DONE in < 1 second (1 errors, 3 warnings)

Spécifier la norme de codage

PHP_CodeSniffer peut avoir plusieurs normes de codage installés pour permettre à une seule installation de PHP_CodeSniffer d'être utilisé dans plusieurs projets aux normes différentes. Quand vous vérifiez du code PHP, PHP_CodeSniffer doit savoir quelle norme il doit utiliser. C'est ce qu'on fait avec l'argument --standard.

L'exemple suivant vérifie la fidélité du fichier mon_fichier.inc à la norme de codage PEAR (installé et utilisé par défaut).

Indiquer la norme de codage à utiliser pour la validation

    

$ phpcs --standard=PEAR /chemin/du/code/mon_fichier.inc

Afficher la liste des normes de codage installés

PHP_CodeSniffer peut affichier la liste des normes de codage qui sont installés. Vous pouvez donc donner correctement le nom de la norme à utiliser pour la vérification. Vous pouvez afficher cette liste en ajoutant l'argument -i.

Générer la liste des normes installées


$ phpcs -i
The installed coding standards are Zend, PEAR, PHPCS, Squiz and MySource
A list of software requirements (Previous) Informations pour une utilisation poussée PHP_CodeSniffer (Next)
Last updated: Sun, 29 Aug 2010 — Download Documentation
Do you think that something on this page is wrong? Please file a bug report or add a note.
View this page in:

User Notes:

There are no user contributed notes for this page.