Utilisation de PHP_Code_Sniffer

https://github.com/squizlabs/PHP_CodeSniffer

PHP Code Sniffer (PHPCS) est un package pour la vérification de syntaxe, disponible à partir de PEAR. Il peut vérifier le code en suivant des règles définies couvrant tout ce qui est possible, depuis les blancs en passant par les commentaires phpdoc et les conventions de nommage de variables et au-delà. Dans cet article nous allons démarrer avec PHPCS, l’utilisant pour vérifier la syntaxe de nos fichiers, et aller plus loin pour examiner la façon dont les règles sont créées et les normes définies.

1. Installation

En clonant le dépôt github :

Il reste à configurer Windows (PATH) et à modifier un fichier :

2. Utilisation

https://github.com/squizlabs/PHP_CodeSniffer/wiki

3. Script

Exemple d’une tâche pour GULP :

// Process PHP Code sniffer (https://github.com/squizlabs/PHP_CodeSniffer, doc : https://github.com/squizlabs/PHP_CodeSniffer/wiki)

var gulp      = require('gulp');
var shell     = require('gulp-shell');

var config    = require('../config').phpcbf;

gulp.task('phpcbf', function () {

   return gulp.src(config.src, {read: false})
      .pipe(shell([
         'phpcbf --standard=PSR2 ' +
         '--no-patch ' +     // Needed to avoid diff.exe is not recognized error (https://github.com/squizlabs/PHP_CodeSniffer/issues/458)
         '--ignore=' + config.exclude + ' ' +
         config.src
      ]))

})

config.src serait le dossier à scanner, config.log le dossier où stocker le log de l’application et config.exclude un pattern qui permettrait d’ignorer certains fichiers :

config.src='C:\Christophe\Repository\markdown\dist',
config.exclude='*\libs\*'

4. NetBeans

Il y a un plugin pour NetBeans (http://plugins.netbeans.org/plugin/42434/phpcsmd).

Ce plugin permet, depuis l’interface de NetBeans, de lancer les contrôles de qualité de code :

4.1. Configurer le plugin

Une fois installé, se rendre dans l’écran Tools->Options->PHP->PHPCSMD afin de configurer le plugin

Configuration of the NetBeans IDE plugin phpcsmd

image

4.2. Afficher les résultats

Ouvrir le panneau des tâches (CTRL+6). Le cas échéant, créer un nouveau filtre pour sélectionner ce qu’il faut afficher et restreindre l’affichage p.ex. aux seuls fichiers que l’on souhaite (exclure le dossier libs par exemple).