PHP_CodeSniffer安装和运用教程(主动代码检查标准工具)
在我们开发中都会讲究代码标准,若是个人开发者,代码标准与否,只要本人看得懂便可以了,但是在团队协作中,代码规定尤其重要,下面,我们介绍一款PHP_CodeSniffer,主动检查代码标准的工具。
PHP_CodeSniffer是一款主动化的PHP代码标准检查工具。
CodeSniffer内置MySource、PEAR、PHPCS、PSR1、PSR2、Squiz和Zend等几套代码标准。
当然,你也可以新增本人的代码标准。
PHP_CodeSniffer 仓库地址:https://github.com/squizlabs/PHP_CodeSniffer
PHP_CodeSniffer 版本公布地址:http://pear.php.net/package/PHP_CodeSniffer
PHP_CodeSniffer包括两个工具,phpcs用来检查代码标准,phpcbf用来纠正代码标准。
1 安置
PHP_CodeSniffer 有好几种安置方式。
1.1 可施行文件方式安置
用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名目。
1.2 phar文件安置方式
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的帮忙信息,说明安置成功。
说明:
这种方式要包管php可施行文件已经增加到PATH环境,不然就得指定绝对名目
每次施行必需把这两个.phar文件放到对应名目,然后在阿谁名目下运php phpcs.phar xxx行命令
1.3 pear安置方式
假如当地安置了pear(pear安置办法),也可以通过pear来安置PHP_CodeSniffer,命令:
pear install PHP_CodeSniffer
通过pear安置后,CodeSniffer的标准文件会安置在:/path/to/pear/PHP/CodeSniffer/src/Standards。
1.4 composer安置方式
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
1.5 配置phpcs直接在命令行中施行
以上的方式中,除了pear安置方式,其他方式要施行phpcs命令,都需要在前面加上php。
假如是Linux供给,由于php施行文件途径已经在环境PATH中,所以把bin(或scripts) 的途径参加PATH,就可以在终端施行phpcs命令了。
但是在Windows系统中,实际是施行phpcs.bat文件,这个文件又援用了同名目下的phpcs文件。
在phpcs.bat中,我们需要配置两个变量,才能在CMD中准确施行phpcs命令。
如下,需指定php.exe和phpcs文件的绝对位置:
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" %*
然后把途径D:\www\PHP_CodeSniffer-2.9.1\scripts\参加到PATH中,就可以在CMD中施行phpcs了。
说明:phpcbf也需要这样的修改。
2 使用
上面我们看到 PHP_CodeSniffer 有两个命令。
默许状况下,PHP_CodeSniffer 使用PEAR标准检查代码。
2.1 使用命令
以下命令用默许标准来来检查文件和名目。
$ 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 # 检查文件和名目
2.2 检查结果
默许状况下,检查结果包括错误和警告,如下:
$ 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
2.3 指定标准
可以使用 -- 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
2.4 查看帮忙
$ phpcs -h
更多PHP相关知识,请拜访PHP中文网!
以上就是PHP_CodeSniffer安置和使用教程(主动代码检查标准工具)的具体内容,更多请关注百分百源码网其它相关文章!