Ignorer une variable non définie avec phpcs
Avec Syntastic et PHP_CodeSniffer, j'utilise phpcs-variable-analysis pour détecter les variables inutilisées.
Parfois, on peut avoir un fichier inclus (par exemple un fichier template) par include ou require depuis une classe et dans ce cas, phpcs-variable-analysis hurle "Variable $this is undefined" pour rien.
De la même manière que phpcs-variable-analysis permet d'ignorer certaines variables non-utilisées, on peut ignorer le fait que $this
n'est pas définie comme ceci :
- Copier le fichier
ruleset.xml
fourni, par exemple~/CodeSniffer/Standards/phpcs-variable-analysis/VariableAnalysis/ruleset.xml
en~/CodeSniffer/Standards/phpcs-variable-analysis/VariableAnalysis/HR-ruleset.xml
- Ajouter ces lignes :
<?xml version="1.0"?> <ruleset name="VariableAnalysis"> <description>Plugin for PHP_CodeSniffer static analysis tool that adds analysis of problematic variable use.</description> <rule ref="VariableAnalysis.CodeAnalysis.VariableAnalysis"> <properties> <property name="validUndefinedVariableNames" value="this"/> </properties> </rule> </ruleset>
-
Exécuter phpcs avec ce fichier en paramètre :
phpcs --standard=~/CodeSniffer/Standards/phpcs-variable-analysis/VariableAnalysis/HR-ruleset.xml bidule.php
-
Le mettre en paramètre de Syntastic dans ~/.vimrc :
let g:syntastic_php_phpcs_args = '--standard=~/CodeSniffer/Standards/phpcs-variable-analysis/VariableAnalysis/HR-ruleset.xml'
D'autres façons d'ignorer phpcs existent.