CodeSniffer使用教程

一、简介

PHP_CodeSniffer 是一个代码风格检测工具,内置MySource、PEAR、PHPCS、PSR1、PSR2、Squiz和Zend等几套代码规范
它包含两类脚本,phpcs 和 phpcbf

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 环境变量加载

三、使用

命令行模式

  1. 设置默认代码标准,为了避免每次手动指定标准, 直接设置默认的代码标准为 PSR-4
phpcs --config-set default_standard PSR4
phpcbf --config-set default_standard PSR4
  1. 检测代码文件
phpcs test.php

此时命令行会提示发现的问题列表, 带 [x] 的表示可以被 phpcbf 修正
若需要每次执行时指定代码格式标准, 则加上 –standard=

phpcs --standard=PSR2 test.php
  1. 修正代码
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 # 检查文件和目录

四、PHPStorm 使用 Codesniffer 做语法检测

  1. 选择 PhpStorm->Preferences->Languages & Frameworks->PHP->Quality Tools-> Code Sniffer 并按如下配置
    在这里插入图片描述
    按照上图红框 1-6 依次点击设置

  2. 选择 PhpStorm->Preferences->Editor->Inspections->Quality Tools->勾选PHP Code Sniffer Validation 选择右侧的PSR12
    在这里插入图片描述
    按照上图红框 1-4 依次点击设置

  3. 验证
    在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值