PHP_CodeSniffer 使用攻略
安装 PHP_CodeSniffer
安装 phpcs
phpcs 是 PHP 代码规范的检测工具。
# 下载
$ curl -OL https://squizlabs.github.io/PHP_CodeSniffer/phpcs.phar
# 加入到命令目录
$ mv phpcs.phar /usr/local/bin/phpcs
# 赋予执行权限
$ sudo chmod +x /usr/local/bin/phpcs
# 检验是否成功
$ phpcs -h
安装 phpcbf
phpcbf 是 PHP 代码规范的修复工具。
# 下载
$ curl -OL https://squizlabs.github.io/PHP_CodeSniffer/phpcbf.phar
# 加入到命令目录
$ mv phpcbf.phar /usr/local/bin/phpcbf
# 赋予执行权限
$ sudo chmod +x /usr/local/bin/phpcbf
# 检验是否成功
$ phpcbf -h
使用 phpcs
phpcs 配置
1.查看详细配置。使用命令: phpcs --config-show (下面是我当前的配置)
colors: 1
default_standard: PSR2
encoding: utf-8
error_severity: 1
ignore_errors_on_exit: 1
ignore_warnings_on_exit: 1
report_format: summary
report_width: auto
severity: 1
show_progress: 1
show_warnings: 1
tab_width: 4
warning_severity: 8
2.设置默认的编码标准。(这个很重要,建议使用 PSR2 的标准)
# 查看配置
$ phpcs -i
The installed coding standards are MySource, PEAR, PHPCS, PSR1, PSR2, Squiz and Zend # 设置编码标准为 PSR2
$ phpcs --config-set default_standard PSR2
3.隐藏警告。(当然,对于强迫症来说,警告都是不允许的,非强迫症患者可以使用此配置项)
# 隐藏警告提醒
$ phpcs --config-set show_warnings 0
# 开启警告提醒
$ phpcs --config-set show_warnings 1
4.显示检查进程。(如果项目需要检查的文件较多可以开启这个)
# 显示检查进程
$ phpcs --config-set show_progress 1
# 关闭进程显示
$ phpcs --config-set show_progress 0
5.显示颜色。 (给自己点颜色看看哈)
# 显示颜色
$ phpcs --config-set colors 1
# 关闭颜色显示
$ phpcs --config-set colors 0
6.修改错误和警告等级
# 显示所有的错误和警告
$ phpcs --config-set severity 1
# 显示所有的错误,部分警告 注意等级可有从 5-8 5 的警告显示会更多,8 的更少
$ phpcs --config-set severity 1
$ phpcs --config-set warning_severity 5
7.设置默认编码
# 设置 utf-8
$ phpcs --config-set encoding utf-8
8.设置 tab 的宽度
# tab 为 4 个空格
$ phpcs --config-set tab_width 4
# 也可以对单独文件生效
$ phpcs --tab-width=0 /path/to/code
代码验证
1.校验单个文件
# 校验单个文件
$ phpcs filename
2.校验目录(如:整个项目)
# 校验目录 注意这个时候别因为 linux 学的太好加个 -R 哈。
$ phpcs /path/dir
结果分析
结果展现的形式:
full, xml, checkstyle, csv, json, emacs, source, summary, diff, svnblame, gitblame, hgblame or notifysend
指定展现形式:
# 汇总的形式
phpcs --report=summary test01.php # json 形式 (个人觉得这个形式更清晰)
phpcs --report=json test01.php
修复代码
使用 phpcbf
覆盖式修复
# 直接覆盖
$ phpcbf /path/code
生成中间文件
# 生成新文件
$ phpcbf /path/to/code --suffix=.fixed
使用 diff
# 以 test.php 为例 会生成 test.php.diff 文件
$ phpcs --report-diff=test.php.diff test01.php
PHP_CodeSniffer 使用攻略的更多相关文章
- 【C#代码实战】群蚁算法理论与实践全攻略——旅行商等路径优化问题的新方法
若干年前读研的时候,学院有一个教授,专门做群蚁算法的,很厉害,偶尔了解了一点点.感觉也是生物智能的一个体现,和遗传算法.神经网络有异曲同工之妙.只不过当时没有实际需求学习,所以没去研究.最近有一个这样 ...
- 微软MVP攻略 (如何成为MVP?一个SQL Server MVP的经验之谈)
一.本文所涉及的内容(Contents) 本文所涉及的内容(Contents) 初衷 什么是微软MVP? 成为微软MVP的条件? 如何成为微软MVP? (一) 申请时间划分 (二) 前期准备 (三) ...
- Windows下LATEX排版论文攻略—CTeX、JabRef使用介绍
Windows下LATEX排版论文攻略—CTeX.JabRef使用介绍 一.工具介绍 TeX是一个很好排版工具,在学术界十分流行,特别是数学.物理学和计算机科学界. CTeX是TeX中的一个版本,指的 ...
- linux下安装apache与php;Apache+PHP+MySQL配置攻略
1.apache 在如下页面下载apache的for Linux 的源码包 http://www.apache.org/dist/httpd/; 存至/home/xx目录,xx是自建文件 ...
- 生成 PDF 全攻略【2】在已有PDF上添加内容
项目在变,需求在变,不变的永远是敲击键盘的程序员..... PDF 生成后,有时候需要在PDF上面添加一些其他的内容,比如文字,图片.... 经历几次失败的尝试,终于获取到了正确的代码书写方式. 在此 ...
- Java数组技巧攻略
Java数组技巧攻略 0. 声明一个数组(Declare an array) String[] aArray = new String[5]; String[] bArray = {" ...
- BZOJ3252: 攻略
Description 题目简述:树版[k取方格数] 众所周知,桂木桂马是攻略之神,开启攻略之神模式后,他可以同时攻略k部游戏. 今天他得到了一款新游戏<XX半岛>,这款游戏有n个场景 ...
- [经验] Win7减肥攻略(删文件不删功能、简化优化系统不简优化性能)
[经验] Win7减肥攻略(删文件不删功能.简化优化系统不简优化性能) ☆心梦无痕☆ 发表于 2014-1-24 11:15:04 https://www.itsk.com/thread-316471 ...
- 从小工到专家 ——读《Java程序员职场全攻略》有感
从小工到专家 ——读<Java程序员职场全攻略>有感 <Java程序员职场全攻略>是以故事的形式,向读者介绍Java程序员的职场经验.作者牛开复在北京从事软件开发,已经是一 ...
随机推荐
- solidity如何拼接字符串?
当你开始学习使用solidity开发以太坊智能合约之后,很快你会碰到一个问题: 一.在solidity中该如何拼接字符串? 可能你已经试过了,下面的代码试图把两个字符串使用相加的运算符连接起来,但是这 ...
- Nodejs学习笔记(八)—Node.js + Express 实现上传文件功能(felixge/node-formidable)
前言 前面讲了一个构建网站的示例,这次在此基础上再说说web的常规功能----文件上传,示例以一个上传图片的功能为例子 上传功能命名用formidable实现,示例很简单! PS:最近比较忙,距上一次 ...
- Spark程序本地运行
Spark程序本地运行 本次安装是在JDK安装完成的基础上进行的! SPARK版本和hadoop版本必须对应!!! spark是基于hadoop运算的,两者有依赖关系,见下图: 前言: 1.环境 ...
- spring boot 2.0 源码分析(三)
通过上一章的源码分析,我们知道了spring boot里面的listeners到底是什么(META-INF/spring.factories定义的资源的实例),以及它是创建和启动的,今天我们继续深入分 ...
- Spring中使用两种Aware接口自定义获取bean
在使用spring编程时,常常会遇到想根据bean的名称来获取相应的bean对象,这时候,就可以通过实现BeanFactoryAware来满足需求,代码很简单: @Servicepublic clas ...
- js 3行代码,最简易实现div效果悬浮
简易实现浮动效果的首要因素是:获取滚动条距离浏览器顶部的距离,下面直接贴代码: <!DOCTYPE html> <html> <head> <meta cha ...
- 回溯法求解n皇后和迷宫问题
回溯法是一种搜索算法,从某一起点出发按一定规则探索,当试探不符合条件时则返回上一步重新探索,直到搜索出所求的路径. 回溯法所求的解可以看做解向量(n皇后坐标组成的向量,迷宫路径点组成的向量等),所有解 ...
- UOJ #357. 【JOI2017春季合宿】Sparklers
Description 小S和小M去看花火大会. 一共有 n 个人按顺序排成一排,每个人手上有一个仅能被点燃一次的烟花.最开始时第 K 个人手上的烟花是点燃的. 烟花最多能燃烧 T 时间.每当两个人的 ...
- 常用工具说明--jsdoc 前端文档输出工具
1.利用npm安装jsdoc模块 npm install jsdoc -g 2.由于jsdoc默认的生成文档模板不好看,可以下载一套好看些的模板,如 jaguar.js 下载地址:https:// ...
- c# 键值对照表
虚拟键值表 虚拟键 十六进制值 十进制值 相应键盘或鼠标键 VK_LBUTTON 1 1 鼠标左键 VK_RBUTTON 2 2 鼠标右键 VK_CANCEL 3 3 Ctrl-Break键 VK_M ...