mac php codesniffer,[转载]使用PHP_CodeSniffer规范php代码

本文介绍了PHP_CodeSniffer的作用,它是一个用于检查PHP代码是否遵循预设编码标准的工具,有助于团队保持代码一致性。通过PEAR安装PHP_CodeSniffer,并详细阐述了安装过程。此外,还展示了如何使用CodeIgniter标准进行代码检测,以及如何在PHPStorm中配置PHP_CodeSniffer,实现实时代码规范提示,从而提高代码质量和可维护性。
摘要由CSDN通过智能技术生成

为什么使用PHP_CodeSniffer

一个开发团队统一的编码风格,有助于他人对代码的理解和维护,对于大项目来说尤其重要。

PHP_CodeSniffer是PEAR中的一个用PHP5写的用来检查嗅探PHP代码是否有违反一组预先设置好的编码标准的一个包,它是确保你的代码简洁一致的必不可少的开发工具,甚至还可以帮助程序员减少一些语义错误。

什么是Pear

由于PHP_CodeSniffer的安装依赖PHP和Pear环境,那么我们有必要了解下什么是Pear。

PEAR是PHP扩展与应用库(the PHP Extension and Application Repository)的缩写。它是一个PHP扩展及应用的一个代码仓库,简单地说,PEAR之于PHP就像是CPAN(Comprehensive Perl Archive Network)之于Perl。

PEAR的基本目标是发展成为PHP扩展和库代码的知识库,而这个项目最有雄心的目标则是试图定义一种标准,这种标准将帮助开发者编写可移植、可重用的代码。

安装Pear

在已经安装了PHP环境的前提下,进入php目录,如果没有go-pear.php文件,就到http://pear.php.net/go-pear.phar下载go-pear.php文件,该地址在浏览器打开可以看到一段PHP的代码,直接保存文件另存为go-pear.phar到php根目录下面。这里提供个人百度网盘下载:https://pan.baidu.com/s/1jIy6HEm

使用管理员方式打开命令行,输入以下命令:

1 cd c:\php

2 php go-pear.phar

这是出现:

1 Are you installing a system-wide PEAR or a local copy?

2 (system|local) [system] :

直接回车默认system继续,出现如下:

8098f90da5c93319042d2619cb10de07.gif

1 Below is a suggested file layout for your new PEAR installation. To

2 change individual locations, type the number in front of the

3 directory. Type 'all' to change all of them or simply press Enter to

4 accept these locations.

5

6 1. Installation base ($prefix) : C:\php

7 2. Temporary directory for processing : C:\php\tmp

8 3. Temporary directory for downloads : C:\php\tmp

9 4. Binaries directory : C:\php

10 5. PHP code directory ($php_dir) : C:\php\pear

11 6. Documentation directory : C:\php\docs

12 7. Data directory : C:\php\data

13 8. User-modifiable configuration files directory : C:\php\cfg

14 9. Public Web Files directory : C:\php\www

15 10. System manual pages directory : C:\php\man

16 11. Tests directory : C:\php\tests

17 12. Name of configuration file : C:\WINDOWS\pear.ini

18 13. Path to CLI php.exe : C:\php

19

20 1-13, 'all' or Enter to continue:

666d8213e0ee68b42c05e27e83409274.gif

直接回车,出现如下,表示安装成功,

/*省略*/

The 'pear' command is now at your service at c:\php\pear.bat

/*省略*/

6fee1eadad52fc2b668104227cce61cf.png

在php根目录下面会看到如下几个文件:

8a4ea92e6f044a21df98a1a0e672050a.png

双击pear.bat文件,注册pear到当前环境。

安装PHP_CodeSniffer

在安装完pear之后,就可以安装php_CodeSniffer了,继续在cmd中输入:

1 pear install PHP_CodeSniffer

等待安装完成,安装完成后php根目录下回出现以下两个文件:

562868a8980a0db5126f8a36d497a972.png

按照下图依次打开文件夹,在看如下目录结构:

fcf06ea728033e2e189621ea1f5f6ba5.png

在php->pear->PHP->CodeSniffer->Standards中可以看到一些php的规范,Generic是通用规范。

现在我们就可以使用这些规范来检测我们的php代码了,先说说在命令行中如何使用。

我们可以使用phpcs -h来看看使用帮助:

phpcs -h

看到的如下:

5fcfccf71df010adf257f7d3b22d43fe.png

这里我只简单的说明如何检查单个文件或整个文件目录:

1 phpcs -n F:\Hg\web\application\controllers\ //检测文件目录

2 phpcs -n F:\Hg\web\application\controllers\home_controller.php //检测单个文件

看到如下结果(单个文件):

25f1914f8a3e113340d437e8e36056c5.png

这样,我们就可以根据这些错误信息去修改我们的代码,使其符合规范。

我们可以指定使用某一个规范进行检测,方法如下:

1 phpcs -n --standard=Zend F:\Hg\web\application\controllers\

不指定标准,会使用php通用规范Generic。

安装CodeIgniter标准

去https://github.com/thomas-ernest/CodeIgniter-for-PHP_CodeSniffer下载包解压,复制src目录到php->pear->PHP->CodeSniffer->Standards目录下,并且改名为CodeIgniter

a0e9fb6627f17bf85bd7ac5067d1bd5e.png

上图为解压后图

039ebd960e5e265cf4df9ae9a4590527.png

上图为放到php代码规范下后的图。

现在就可以使用CodeIgniter标准检测代码了:

1 phpcs -n --standard=CodeIgniter F:\Hg\web\application\controllers\

PHPSTORM配置PHP_CodeSniffer检测环境

打开phpstorm的配置框,找到Languages & Frameworks -> php-> Code Sniffer,不同版本的phpstorm可能会有出入,直接搜索Code Sniffer也可以。

d2dc74a6953e398a557fc4331462b7fb.png

点击如下进行编辑:

a2e1e3a9184670db07bfebde9aae02d7.png

设置PHP Code Sniffer path为phpcs.bat的路径。

b236245bf5d7746b6bc7fa466051381d.png

点击Validate,出现如下图表示设置成功:

685777b4399abcec1deed563a3ece0b8.png

打开配置搜索Inspections, 展开PHP,勾选PHP Code Sniffer validation, 选择Coding standard为CodeIgniter, 点击OK确定。

7ce69dc607971f93c07270f9296462aa.png

接下来,在编码PHP的时候就会出现规范提示

f6b4f308bb187c31466db5ec7b4c0032.png

如上图,鼠标移动到有波浪提示的地方,就会出现phpcs的规范提示了。

配置到此结束,希望可以帮到需要的程序猿!

最规范的代码就是不出现任何的波浪提示。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值