简介
PHP_CodeSniffer是一款自动化的PHP代码规范检查工具。
CodeSniffer内置MySource
、PEAR
、PHPCS
、PSR1
、PSR2
、Squiz
和Zend
等几套代码规范。
当然,你也可以新增自己的代码规范。
PHP_CodeSniffer包含两个工具,phpcs
用来检查代码规范,phpcbf
用来纠正代码规范。
安装
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
配置phpcs
配置phpcs直接在命令行中执行
如果是Linux提供,因为php执行文件路径已经在环境PATH中,所以把bin(或scripts) 的路径加入PATH,就可以在终端执行phpcs命令了。
在Windows系统中,实际是执行phpcs.bat文件,这个文件又引用了同目录下的phpcs文件。 需要添加到环境变量中。
详细配置phpcs
1.查看详细配置。使用命令: phpcs --config-show (下面是我当前的配置)
2.设置默认的编码标准。(这个很重要,建议使用 PSR2 的标准)
# 设置编码标准为 PSR2
$ phpcs --config-set default_standard PSR2
# 隐藏警告提醒
$ phpcs --config-set show_warnings 0
# 开启警告提醒
$ phpcs --config-set show_warnings 1
# 设置 utf-8
$ phpcs --config-set encoding utf-8
设置 tab 的宽度
# tab 为 4
个空格
$ phpcs --config-set tab_width 4
代码验证
# 校验单个文件
$ phpcs filename
# 校验目录 注意这个时候别因为 linux 学的太好加个 -R 哈。
$ phpcs /path/dir
$ 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 # 检查文件和目录
设置PHPStorm整合CodeSniffer
1. 配置 Code Sniffer
在 “Preferences”->“Languages & Frameworks”->“PHP”->“Quality Tools” ->“Code Sniffer” 配置中,“Configuration” 项后点击…并输入 phpcs 路径,可以使用 “Validate” 按钮验证phpcs路径是否正确。
开启验证
在 “Preferences”->“Editor”->“Inspections”->“Quality Tools”配置中,勾选上 “PHP Code Sniffer validation”。
具体参数中
Show warnings as: Warnning,标示提示级别
Coding standard PSR2 代表执行的规范如果找不到这个选项,点一下紧挨着的刷新按钮。
在PhpStorm 中使用及修复
在问题栏里显示
修复->在问题处右键->修复整个文件,会自动修复问题
参考文章