CodeSniffer使用教程
作者:互联网
一、简介
PHP_CodeSniffer 是一个代码风格检测工具,内置MySource、PEAR、PHPCS、PSR1、PSR2、Squiz和Zend等几套代码规范
它包含两类脚本,phpcs 和 phpcbf
PSR是PHP Standards Recommendation的简称
PSR是php-fig组织制定的一套规范
目前最新的规范为 PSR-12,其他常用规范参考
PHP推荐标准编码规范(PSR-1,PSR-2,PSR-3,PSR-4,PSR-12)
phpcs
phpcs 脚本对 PHP、JavaScript、CSS 文件定义了一系列的代码规范(通常使用官方的代码规范标准,比如 PHP 的 PSR-4),能够检测出不符合代码规范的代码并发出警告或报错(可设置报错等级)
phpcbf
phpcbf 脚本能自动修正代码格式上不符合规范的部分。比如 PSR-4 规范中对每一个 PHP 文件的结尾都需要有一行空行,那么运行这个脚本后就能自动在结尾处加上一行空行。
php-cs-fixer
该工具不包含在 PHP_CodeSniffer 中, 是在另一个独立的项目 PHP-CS-Fixer
php-cs-fixer 修复不规范代码 作用等同于 phpcbf 只不过规则好像稍有区别
二、安装
PHP_CodeSniffer 仓库地址
PHP_CodeSniffer 版本发布地址
1. 下载
1.1 github 下载
用git命令下载(或直接下载)仓库源码,然后直接执行,此方法用于安装 最新版本
地址:PHP_CodeSniffer
git clone https://github.com/squizlabs/PHP_CodeSniffer.git
1.2 pear 下载
使用 最新版本, 可以使用命令行下载
pear install PHP_CodeSniffer
downloading PHP_CodeSniffer-3.5.8.tgz ...
Starting to download PHP_CodeSniffer-3.5.8.tgz (716,472 bytes)
...............................................................................................................................................done: 716,472 bytes
install ok: channel://pear.php.net/PHP_CodeSniffer-3.5.8
要使用 非最新版本,可以到PEAR下载,地址:PHP_CodeSniffer
1.3 composer 安装
composer global require "squizlabs/php_codesniffer=*"
下载后会在全局的 Vendor目录下的 bin 中生成两个软链接
phpcbf -> …/squizlabs/php_codesniffer/bin/phpcbf
phpcs -> …/squizlabs/php_codesniffer/bin/phpcs
2. 安装
2.1 查看全局 Vendor 目录位置
$ composer global config bin-dir --absolute
Changed current directory to /Users/haolin/.composer
/Users/haolin/.composer/vendor/bin
2.2 将 phpcs 和 phpcbf 的目录加入环境变量
# 1. 将指定版本的 codesniffer 命令软连到全局命令目录
ln -s /Users/haolin/.composer/vendor/squizlabs/PHP_CodeSniffer-3.5.8/bin/phpcs ./phpcs
ln -s /Users/haolin/.composer/vendor/squizlabs/PHP_CodeSniffer-3.5.8/bin/phpcbf ./phpcbf
# 2. 将全局命令目录加入 PATH 环境变量
vim /etc/paths
source /etc/paths
参考 Mac 环境变量加载
三、使用
- 设置默认代码标准,为了避免每次手动指定标准, 直接设置默认的代码标准为 PSR-12
phpcs --config-set default_standard PSR12
phpcbf --config-set default_standard PSR12
- 检测代码文件
phpcs test.php
此时命令行会提示发现的问题列表, 带 [x] 的表示可以被 phpcbf 修正
若需要每次执行时指定代码格式标准, 则加上 –standard=
phpcs --standard=PSR2 test.php
- 修正代码
phpcbf test.php
此时会修正问题列表中带 [x] 的问题
以下命令用默认规范来来检查文件和目录
$ 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 # 检查文件和目录
标签:教程,php,phpcbf,使用,CodeSniffer,phpcs,PSR,PHP 来源: https://blog.csdn.net/haolinbird/article/details/112491407