PHP_CodeSniffer 使用攻略

php中文网
发布: 2016-06-20 12:26:47
原创
1760人浏览过

目录

安装 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(下面是我当前的配置)

立即学习PHP免费学习笔记(深入)”;

colors:                  1default_standard:        PSR2encoding:                utf-8error_severity:          1ignore_errors_on_exit:   1ignore_warnings_on_exit: 1report_format:           summaryreport_width:            autoseverity:                1show_progress:           1show_warnings:           1tab_width:               4warning_severity:        8
登录后复制

2.设置默认的编码标准。(这个很重要,建议使用 PSR2的标准)

# 查看配置$ phpcs -iThe 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
登录后复制

AppMall应用商店
AppMall应用商店

AI应用商店,提供即时交付、按需付费的人工智能应用服务

AppMall应用商店 56
查看详情 AppMall应用商店

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
登录后复制

总结

记住,这只是一个工具。但是, 工欲善其事,必先利其器。这里可以打个小广告利器 里面是有很多好用的工具的。

如果,你需要应用到团队,需要看你团队使用的什么框架。然后,根据框架适当的调整一下配置的 错误等级警告等级

参考链接

1. PHP_CodeSniffer_wiki

2. Configuration Options

热门游戏推荐
热门游戏推荐

最近有什么好玩的游戏?最近哪些游戏比较好玩?这里为大家带来热门游戏合集,汇聚了最新最好玩的高分爆款游戏,还在为不知道玩什么游戏而烦恼的玩家,快来保存下载体验吧!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号