如何用PHP_CodeSniffer检查代码规范

发布时间:2020-06-28 18:37:26

来源:亿速云

阅读:108

作者:Leah

这篇文章将为大家详细讲解有关如何用PHP_CodeSniffer检查代码规范,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

PHP_CodeSniffer 是一个代码风格检测工具。它包含两类脚本,phpcs 和 phpcbf(GitHub地址)。

phpcs 脚本对 PHP、JavaScript、CSS 文件定义了一系列的代码规范(通常使用官方的代码规范标准,比如 PHP 的 PSR2),能够检测出不符合代码规范的代码并发出警告或报错(可设置报错等级)。

phpcbf 脚本能自动修正代码格式上不符合规范的部分。比如 PSR2 规范中对每一个 PHP 文件的结尾都需要有一行空行,那么运行这个脚本后就能自动在结尾处加上一行空行。

安装

推荐使用 composer 来安装:composer global require "squizlabs/php_codesniffer=*"

安装完后就会在全局的 Vendor 目录下的 bin 中生成两个软链接:phpcbf -> ../squizlabs/php_codesniffer/bin/phpcbf

phpcs -> ../squizlabs/php_codesniffer/bin/phpcs

如果你不知道全局 Vendor 目录在哪,用下这个命令吧:composer global config bin-dir --absolute

命令行使用

到这一步,其实你就可以愉快的使用这两个命令了:

哦,不过如果要全局使用这两个命令那还是做个软链接放在 /usr/local/bin 下吧~$ phpcs test.php

FILE: /Users/stephen/Develop/Code/test.php

--------------------------------------------------------------------------------------------

FOUND 2 ERRORS AFFECTING 2 LINES

--------------------------------------------------------------------------------------------

2 | ERROR | [ ] Missing file doc comment

3 | ERROR | [x] TRUE, FALSE and NULL must be lowercase; expected "false" but found "FALSE"

--------------------------------------------------------------------------------------------

PHPCBF CAN FIX THE 1 MARKED SNIFF VIOLATIONS AUTOMATICALLY

--------------------------------------------------------------------------------------------

Time: 45ms; Memory: 4Mb

$ phpcbf test.php

PHPCBF RESULT SUMMARY

----------------------------------------------------------------------

FILE FIXED REMAINING

----------------------------------------------------------------------

/Users/stephen/Develop/Code/test.php 1 1

----------------------------------------------------------------------

A TOTAL OF 1 ERROR WERE FIXED IN 1 FILE

----------------------------------------------------------------------

Time: 49ms; Memory: 4Mb

Sublime Text 中集成

安装插件

前提 Package Control 要安装好,这个你肯定没问题的(莫名的自信,逃)

安装 phpcs 这个插件,然后打开这个插件的 Settings - User 和 Settings - Default,将后者的内容全部复制到前者。

配置插件

将以下这几个配置项配置一下:

当前环境中 php 的执行路径"phpcs_php_prefix_path": "/usr/bin/php",

当前环境中 phpcs 的执行路径"phpcs_executable_path": "~/.composer/vendor/bin/phpcs",

执行脚本时额外添加的参数,一般以 PSR2 代码规范作为标准,你也可以选择 PSR1、PEAR 等"phpcs_additional_args": {

"--standard": "PSR2",

"-n": ""

},

当前环境中 phpcbf 的执行路径"phpcbf_executable_path": "/Users/stephen/.composer/vendor/bin/phpcbf",

开启保存就执行 cbf 脚本功能"phpcbf_on_save": true,

现在就可以愉快的玩耍了,编辑完 .php 后缀的文件保存后就会自动回复修正代码不规范的地方。

这个插件还有其他代码规范可以设置的地方,比如 PHP Mess Detector settings、PHP Linter settings、PHP Scheck settings

下次在研究其他几个,目前是够我用了,逃)

PhpStrom 中集成

配置 Code Sniffer

在 Settings -> Languages & Frameworks -> PHP -> Code Sniffer 中对 phpcs 进行配置

点击 Configuration: Local 旁边的 ...,将当前环境的 phpcs 执行脚本所在路径配置进去,旁边有一个 Validate 按钮可以进行验证,其他两个参数默认就好,这里也稍微说一下吧。

Maxumum number of messages per file[1...100]:每个文件最多显示不符合代码规范的条数,一般出现50个了那你有很多工作可以做了,其实10个就够了,尤其对我这种代码洁癖和强迫症晚期的人来说一个足矣  。。。

Tool process timeout, sec[1...30]:脚本执行的超时时间

开启验证

在 Settings -> Editor -> Inspections 中进行开启

找到 PHP -> PHP Code Sniffer validation 选项,对其打钩,在右侧进行详细配置

我是将 Options -> Show warnings as: Error 开启了,当然你也可以选择 Warnning,提示级别高一点能够强迫自己,没啥不好的吧~

Coding standard 依旧是选择 PSR2,如果找不到这个选项,记得点一下紧挨着的刷新按钮。

自动修复

我找了半天没发现 PhpStrom 有支持 phpcbf 的可用选项,所以只能通过 External Tools 来实现了。

在 Settings -> Tools -> External Tools 中进行添加,下面是我的一个示例,基本可以照搬 :)ParameterValueNamephpcbf

DescriptionAutomatically correct coding standard violations.

Programphpcbf

Parameters--standard=PSR2 "$FileDir$/$FileName$"

现在就可以在菜单栏上的 Tools -> External Tools 中找到它并愉快的使用了。

亮哥,这样很不方便诶。。。

那就加一个快捷键把。。。

在 Settings -> Keymap -> External Tools -> phpcbf 中进行添加快捷键操作,我设置的是 Option + F,或者 Windows 上的 Alt + F。

蜜汁延伸

之前没用 phpcbf,代码自动修复使用的是 php-cs-fixer,但后来发现两者功能差不多,所以秉着能少一个包就少一个包的原则,放弃了 php-cs-fixer。

关于如何用PHP_CodeSniffer检查代码规范就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

php codesniffer 代码规范,如何用PHP_CodeSniffer检查代码规范相关推荐

  1. thymealf如何实现传单个变量给html_梦回2013,看尤大vue的第一行代码,如何用30行代码实现vue(超简洁,适合初学者)...

    非非非标题党,干货预警!!! 介绍 大家好,我是清池交友 app 开发日记,记录清池交友 app 开发中学习过程和踩坑日记,伪全栈[1] 技术栈:前端 js,vue,uniapp,后端 java 尤大 ...

  2. php codesniffer 代码规范,规范三:PHP_CodeSniffer 辅佐代码规范

    >也可以参考此文:https://www.cnblogs.com/huangbx/p/php_codesniffer.html [TOC] 我用的是`wamp`,环境是`php7.0.23` # ...

  3. win10下安装PHP_CodeSniffer 检查编码规范

    PHP CodeSniffer是PEAR中的一个用PHP5写的一个PHP的代码风格检测器,它根据预先设定好的PHP编码风格和规则,去检查应用中的代码风格情况是否有违反一组预先设置好的编码标准,内置了Z ...

  4. jtest java 代码_parasoft Jtest 使用教程:检查代码标准

    原标题:parasoft Jtest 使用教程:检查代码标准 通过执行静态分析检查代码是否遵守代码标准的规则,可以识别那些可能会导致功能.性能或安全问题的易于出错和令人困惑的构造. 目的:演示如何检查 ...

  5. 白盒测试工具 - sonar的安装、配置与使用入门手册,用sonar检查代码质量实战演示

    sonar 检测代码质量实战演示 第一章:sonarqube 的安装与启用 ① sonarqube 获取 ② sonarqube 配置 ③ sonarqube 驱动放置 ④ sonarqube 的启动 ...

  6. 代码风格统一: 使用husky, prettier, eslint在代码提交时自动格式化,并检查代码。...

    引言 这个需求主要是组内成员用的编辑器不统一,代码风格也各异,所以在修改代码时,如果格式化了代码,在code review阶段很难分辨修改了的代码.当然,代码风格统一还有其他好处,这里就不不多废话了. ...

  7. java测试性能代码_关于性能:Java代码内部的基准测试

    我最近一直在研究基准测试,我一直对记录程序数据等感兴趣.我想知道我们是否可以在程序中有效地实现自己的内存使用代码和实现自己的时间消耗代码.我知道如何检查代码运行所需的时间: public static ...

  8. python代码规范工具_如何检查python3中的代码规范

    如何检查python3中的代码规范 发布时间:2020-11-16 09:40:48 来源:亿速云 阅读:77 作者:小新 这篇文章给大家分享的是有关如何检查python3中的代码规范的内容.小编觉得 ...

  9. python 检查代码规范_Python代码规范检测

    一定要注重代码规范,按照平时的代码管理,可以将Python代码规范检测分为两种: 静态本地检测:可以借助静态检查工具,比如:Flake8,Pylint等,调研了一下,用Flake8的相对较多,功能满足 ...

  10. idea 配置checkstyle【提高代码质量,检查代码规范的工具】

    下面主要介绍IDEA,如何配置,使用checkstyle 1.CheckStyle插件安装和使用 一,打开settings的plugins,点击查找CheckStyle-IDEA安装,如果查找不到,B ...

最新文章

  1. C语言做一个通讯录程序(在console里面运行)
  2. springmvc三十二:spring mvc的运行流程
  3. AMDP + XLSX Workbench 报表开发模式
  4. VC++的windows服务
  5. fullgc频繁的原因_系统运行缓慢,CPU 100%,Full GC次数过多,这一招帮你全搞定
  6. 设计干货素材|使用纹理背景的技巧
  7. iOS获取label的高度模仿博友
  8. Redhat Linux安装JDK 1.7
  9. 网页切图div+css命名
  10. 二级python有必要买书吗_清华大学出版社-图书详情-《二级Python编程指南》
  11. 超薄计算机的HDMI接口,机身轻薄两面观 笔记本接口变化趋势解析
  12. mysql嵌套查询,MYSQL嵌套查询(子查询),把内层的查询结果作为外层的查询条件
  13. 金山WPS+Google文件=谷歌金山Office?
  14. SpringBoot(30) 整合PageOffice实现在线编辑Word和Excel
  15. Excel quot;定位条件quot;使用技巧(1)快速在空格,批量写入公式。
  16. 在windows10上安装图形化ubuntu桌面(亲测有效)
  17. Docker和K8s的区别
  18. 2876: [Noi2012]骑行川藏 - BZOJ
  19. 计算机科学与技术没落,这七所985一个A+学科都没有评上?有点尴尬了
  20. 看电影的计算机配置,2160p的电影需要什么电脑配置看才流畅?

热门文章

  1. 今日头条推荐算法原理首公开,头条首席算法架构师带来详细解读
  2. Windows10 Hero默认壁纸(11色)
  3. CentOS7部署YApi
  4. 计算机软件如何永久删除,如何彻底删除电脑软件
  5. linux sed替换行,shell - 使用Sed替换包含字符串的整行
  6. 《LeetCode零基础指南》(第四讲) 一维数组 gyro
  7. 计算机控制电机启动接线图,电机控制线路图大全(上下)
  8. 计算机应用高级工程师,高级工程师职称考试项目
  9. 百度地图api之路线规划
  10. oeasy教您玩转vim - 4 - # 深入帮助