为什么使用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.php到php根目录下面。

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

 cd c:\php
php go-pear.phar

这是出现:

 Are you installing a system-wide PEAR or a local copy?
(system|local) [system] :

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

 Below is a suggested file layout for your new PEAR installation.  To
change individual locations, type the number in front of the
directory. Type 'all' to change all of them or simply press Enter to
accept these locations. . Installation base ($prefix) : C:\php
. Temporary directory for processing : C:\php\tmp
. Temporary directory for downloads : C:\php\tmp
. Binaries directory : C:\php
. PHP code directory ($php_dir) : C:\php\pear
. Documentation directory : C:\php\docs
. Data directory : C:\php\data
. User-modifiable configuration files directory : C:\php\cfg
. Public Web Files directory : C:\php\www
. System manual pages directory : C:\php\man
. Tests directory : C:\php\tests
. Name of configuration file : C:\WINDOWS\pear.ini
. Path to CLI php.exe : C:\php -, 'all' or Enter to continue:

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

/*省略*/
The 'pear' command is now at your service at c:\php\pear.bat
/*省略*/

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

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

安装PHP_CodeSniffer

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

 pear install PHP_CodeSniffer

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

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

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

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

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

phpcs -h

看到的如下:

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

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

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

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

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

 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

上图为解压后图

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

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

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

PHPSTORM配置PHP_CodeSniffer检测环境

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

点击如下进行编辑:

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

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

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

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

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

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

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

参考:

http://baike.baidu.com/subview/20453/16587839.htm

windows环境PhpStorm中简单使用PHP_CodeSniffer规范php代码的更多相关文章

  1. [转载]使用PHP_CodeSniffer规范php代码

    为什么使用PHP_CodeSniffer 一个开发团队统一的编码风格,有助于他人对代码的理解和维护,对于大项目来说尤其重要. PHP_CodeSniffer是PEAR中的一个用PHP5写的用来检查嗅探 ...

  2. Windows环境下ELK简单搭建记录

    前言 ELK已经是一套成熟的日志解决方案,虽然出现了好久,今日才终于研究了一下,不过是在windows平台上安装的. 搭建步骤 下载软件 安装软件 修改配置文件 启动软件 集成测试 下载软件 首先从官 ...

  3. CentOS下将php和mysql命令加入到环境变量中-简单

    开发过程中.需要使用到php命令执行程序.但是php命令没有在全局命令中:每次执行都需要加上全路径特别麻烦,把php命令添加到全局变量中,以后每次只用输入php可以了 例: php -v  或 mys ...

  4. windows环境phpstorm调试环境搭建

    一:安装设置xdebug 这个一般有两个步骤1:浏览器的xdebug插件安装,一般用firefox的插件,chrome好像不太好使,chrome安装后的  效果 安装后如下图所示,需要配置IDEKEY ...

  5. windows环境下最简单的nginx + tomcat负载均衡配置示例

    后端是两台tomcat服务器,我们简称为node1 和node2,访问地址分别是 http://192.168.1.2:8080 和 http://192.168.1.4:8080 前端使用nginx ...

  6. phpStorm中使用xdebug断点调试php代码

    配置好xdebug,也能使得phpstorm像java哪像跑断点调试,爽的一笔!!! 下载xdebug并配置 [XDebug] zend_extension=php_xdebug-2.4.0rc3-5 ...

  7. 在eclipse pydev中使用PEP8来规范python代码

    最近在写接口自动话时,代码要上研发的PEP8检查,所以没办法,在pydev中配置如下: 1.打开PEP检查 在pydev 2.3.0之后的版本都自带了pep8检查,但默认是没有开启的 Windows ...

  8. idea 中设置成公司规范的代码格式

    优雅的编码格式是一个程序员的必备素质. 最近切换到了 idea,想对自己的代码进行格式化的时候希望能自动排版成公司规定的格式,可以做以下设置: 打开 idea 的 preference: 左侧找到 c ...

  9. windows环境下 生成git公钥和私钥

    windows环境下 生成公钥和私钥 上传代码到远程仓库的时候需要秘钥进行验证是否本人上传的.打开Git目录下的Git Bash 输入ssh-keygen,回车 可直接不输入路径,使用默认路径(c/U ...

随机推荐

  1. (实用篇)浅谈PHP拦截器之__set()与__get()的理解与使用方法

    "一般来说,总是把类的属性定义为private,这更符合现实的逻辑. 但是,对属性的读取和赋值操作是非常频繁的,因此在PHP5中,预定义了两个函数"__get()"和&q ...

  2. 【科普】为什么WiFi自动信道选到的信道多数在1/6/11

    http://bbs.hiwifi.com/thread-4126-1-1.html 论坛上不少朋友很困惑,为什么小极的自动信道选择选到的信道只会在1.6.11这三个信道呢?WiFi不是一共有10几个 ...

  3. study java language

    2016.11.30 1).About the Java Technology 2).The Java Language Environment: Contents

  4. ”未在本地计算机上注册“microsoft.et.OLEDB.4.0”提供程序。“解决方案大集合

    本人在做一个连接Access数据库的时候,程序扔给我一个如此Bug——“未在本地计算机上注册“microsoft.et.OLEDB.4.0”, 请教度娘,告诉我可能是如下因素: 一.“设置应用程序池默 ...

  5. tableView优化性能

    在iOS应用中,UITableView应该是使用率最高的视图之一了.iPod.时钟.日历.备忘录.Mail.天气.照片.电话.短信. Safari.App Store.iTunes.Game Cent ...

  6. cookie单点登录(跨域访问)

    新近一家公司上来就让做oa,要求嵌入公司现有系统模块,自然而然想到模拟post单点登录对方系统新建单点登陆页面保存session,然现有系统都有用cookie保存用户信息,故保存本地cookie……测 ...

  7. Office word 2013中直接调用MathType的方法

    Office word 2013中直接调用MathType的方法 | 浏览:4403 | 更新:2014-02-20 14:45 | 标签: word 使用Office word 2013的用户肯定早 ...

  8. HttpClient请求

    HttpClient HttpClient 是 Apache Jakarta Common 下的子项目,用来提供高效的.最新的.功能丰富的支持 HTTP 协议的客户端编程工具包, 并且它支持 HTTP ...

  9. ubuntu 14.04安装 ruby on rails

    安装完成ubuntu14.04以后 第一步: 1.sudo apt-get update 2.sudo apt-get upgrade 第二步:   RVM 安装 $ gpg --keyserver ...

  10. Eclipse

    001.自动注释  window--preferences--java--codeStyle--codeTemplate--comments //Types: /** *@author ${user} ...