Cet article vous présente PHP_CodeSniffer, ainsi que ses tutoriels d'installation et d'utilisation. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer. J'espère qu'il sera utile à tout le monde.
PHP_CodeSniffer est un outil automatisé de vérification des spécifications de code PHP.
CodeSniffer intègre MySource
, PEAR
, PHPCS
, PSR1
, PSR2
, Squiz et Zend
. MySource
、PEAR
、PHPCS
、PSR1
、PSR2
、Squiz
和Zend
等几套代码规范。
当然,你也可以新增自己的代码规范。
PHP_CodeSniffer包含两个工具,phpcs
用来检查代码规范,phpcbf
用来纠正代码规范。
PHP_CodeSniffer 有好几种安装方式。
用git命令下载(或直接下载)仓库源码,然后直接执行:
git clone https://github.com/squizlabs/PHP_CodeSniffer.git cd PHP_CodeSniffer php bin/phpcs -h php bin/phpcbf -h
要使用非最新版本,可以到PEAR下载,地址:http://pear.php.net/package/PHP_CodeSniffer/download
例如,要用2.9.1
,PEAR下载之后解压,执行的命令是:
php scripts/phpcs -h php scripts/phpcbf -h
与 githuh 下载不同的是,执行文件在scripts
目录。
phar也就是php archive,把php文件打包成一个文件供服务。
Linux系统用命令下载phar文件:
curl -OL https://squizlabs.github.io/PHP_CodeSniffer/phpcs.phar curl -OL https://squizlabs.github.io/PHP_CodeSniffer/phpcbf.phar
Windows系统用浏览器访问上面的两个链接,下载这两个phar文件。
然后在phar文件的目录里面执行:
php phpcs.phar -h php phpcbf.phar -h
能看到phpcs和phpcbf的帮助信息,说明安装成功。
说明:
.phar
文件放到对应目录,然后在那个目录下运php phpcs.phar xxx
行命令
如果本地安装了pear(pear安装方法),也可以通过pear来安装PHP_CodeSniffer,命令:
pear install PHP_CodeSniffer
通过pear安装后,CodeSniffer的规范文件会安装在:/path/to/pear/PHP/CodeSniffer/src/Standards
。
composer安装也很方便,一个命令:
composer global require "squizlabs/php_codesniffer=*"
说明:这里需要composer
命令已经在PATH
环境变量中。
也可以在composer.json文件中使用:
{ "require-dev": { "squizlabs/php_codesniffer": "3.*" } }
完成后执行命令:
./vendor/bin/phpcs -h ./vendor/bin/phpcbf -h
以上的方式中,除了pear安装方式,其他方式要执行phpcs
命令,都需要在前面加上php。
如果是Linux提供,因为php执行文件路径已经在环境PATH
中,所以把bin
(或scripts
) 的路径加入PATH
,就可以在终端执行phpcs
命令了。
但是在Windows系统中,实际是执行phpcs.bat文件,这个文件又引用了同目录下的phpcs文件。
在phpcs.bat中,我们需要配置两个变量,才能在CMD中正确执行phpcs命令。
如下,需指定php.exe
和phpcs
pouvez également ajouter vos propres spécifications de code
.phpcs
est utilisé pour vérifier les spécifications du code, phpcbf
est utilisé pour if "%PHPBIN%" == "" set PHPBIN=D:\php56n\php.exe if not exist "%PHPBIN%" if "%PHP_PEAR_PHP_BIN%" neq "" goto USE_PEAR_PATH GOTO RUN :USE_PEAR_PATH set PHPBIN=%PHP_PEAR_PHP_BIN% :RUN "%PHPBIN%" "D:\www\PHP_CodeSniffer-2.9.1\scripts\phpcs" %*
2.9.1
, après avoir téléchargé PEAR et l'avoir décompressé, le La commande à exécuter est :
$ phpcs /path/to/code/myfile.php # 检查文件 $ phpcs /path/to/code # 检查目录和子目录下的所有文件 $ phpcs -l /path/to/code # 检查目录下的所有文件,不包括子目录 $ phpcs /path/to/code/myfile.inc /path/to/code/my_dir # 检查文件和目录
scripts
. 🎜🎜Méthode d'installation du fichier phar 1.2 🎜🎜🎜phar est également une 🎜archive php🎜, qui regroupe les fichiers php dans un seul fichier pour le service. 🎜🎜Pour les systèmes Linux, utilisez la commande pour télécharger le fichier phar : 🎜$ phpcs /path/to/code/myfile.php FILE: /path/to/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 --------------------------------------------------------------------------------
$ phpcs -n /path/to/code/myfile.php
.phar
🎜 dans le répertoire correspondant, puis exécutez la 🎜php phpcs.phar xxx
🎜line command🎜$ phpcs --report=summary /path/to/code
/path/to /pear/PHP/CodeSniffer/src/Standards
. 🎜🎜Méthode d'installation du compositeur 1.4🎜🎜🎜L'installation du compositeur est également très pratique, une commande : 🎜$ phpcs --standard=PEAR /path/to/code/myfile.inc # 使用内置规范 $ phpcs --standard=/path/to/MyStandard /path/to/code/myfile.inc # 使用指定路径下的规范 $ phpcs --standard=PEAR,PHPCS,/path/to/MyStandard file.php # 使用多个规范 $ phpcs --config-set default_standard Squiz # 修改默认规范为Squiz(原本是PEAR)
composer
🎜La commande est déjà là🎜 PATH
🎜variable d'environnement. 🎜🎜🎜 peut également être utilisé dans le fichier composer.json : 🎜$ phpcs -i
$ phpcs -h
phpcs
, vous devez ajouter php devant. 🎜🎜S'il est fourni par Linux, car le chemin du fichier d'exécution php est déjà dans l'environnement PATH
, ajoutez donc le chemin de bin
(ou des scripts code>) PATH
, vous pouvez exécuter la commande phpcs
dans le terminal. 🎜🎜Mais dans le système Windows, le fichier 🎜phpcs.bat🎜 est en fait exécuté, et ce fichier fait référence au fichier 🎜phpcs🎜 dans le même répertoire. 🎜🎜Dans phpcs.bat, nous devons configurer deux variables pour exécuter correctement la commande phpcs dans CMD. 🎜🎜Comme suit, vous devez spécifier l'emplacement absolu des fichiers php.exe
et phpcs
: 🎜rrreee🎜Ajoutez ensuite le chemin D : wwwPHP_CodeSniffer-2.9.1scripts à PATH, et vous pouvez exécuter phpcs dans CMD. 🎜🎜🎜🎜Remarque : PHPCBF nécessite également une telle modification. 🎜🎜🎜🎜🎜2 Utilisation de 🎜🎜🎜 Ci-dessus, nous voyons que PHP_CodeSniffer a deux commandes. 🎜🎜Par défaut, PHP_CodeSniffer utilise la spécification PEAR pour vérifier le code. 🎜🎜🎜2.1 Utilisez la commande 🎜🎜🎜La commande suivante utilise la spécification par défaut pour vérifier les fichiers et les répertoires. 🎜rrreee🎜🎜2.2 Résultats de la vérification🎜🎜🎜Par défaut, les résultats de la vérification contiennent des erreurs et des avertissements, comme suit : 🎜$ phpcs /path/to/code/myfile.php FILE: /path/to/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 --------------------------------------------------------------------------------
如果不要显示警告,加个-n
参数:
$ phpcs -n /path/to/code/myfile.php
仅显示检查结果概要:
$ phpcs --report=summary /path/to/code
可以使用 -- standard
参数指定一个或多个规范来检查。
$ phpcs --standard=PEAR /path/to/code/myfile.inc # 使用内置规范 $ phpcs --standard=/path/to/MyStandard /path/to/code/myfile.inc # 使用指定路径下的规范 $ phpcs --standard=PEAR,PHPCS,/path/to/MyStandard file.php # 使用多个规范 $ phpcs --config-set default_standard Squiz # 修改默认规范为Squiz(原本是PEAR)
查看现有规范:
$ phpcs -i
$ phpcs -h
推荐学习:《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!