为什么使用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. android沉浸式状态栏设置(4.4以上版本)

    其实设置比较简单,我用了小米和htc的几款机型都可以用. 主要代码就是这个(注意要在Activity的setContentView之前调用才行) /** * 开启沉浸式状态栏 * */ public ...

  2. delegate和protocol

    协议和代理对于一个新手来说确实不讨好理解,也有很多的iOS开发的老手对此是懂非懂的.网上的很多博文只是讲了怎么使用,并没有说的很明白.下面我谈一下我的理解. 1.你要先搞明白,协议和代理为什么会出现, ...

  3. http://note.youdao.com/yws/public/redirect/share?id=2bc2dc6c7df6013e9f8106c005da999a&type=false

    Welcome to MarkdownPad 2 MarkdownPad is a full-featured Markdown editor for Windows. Built exclusive ...

  4. commonJS

    摘自阮一峰博客:http://javascript.ruanyifeng.com/nodejs/module.html 目录 概述 module对象 module.exports属性 exports变 ...

  5. Android EidtText 光标的使用和设置

    使光标移动到制定的位置: editText.setSelection(editText.length()); 输入的参数是个整数   在请求出现光标是,也就是在获取焦点时: editText.requ ...

  6. [java]wordcount程序

    词数统计系统. 作业解析:这次作业的内容是从本地读取一个程序代码,计算出这个程序中的行数,单词数,也可进行拓展. 实现语言:java 编程思路: 程序是由各种单词和符号组成的,单词包括关键字,标识符这 ...

  7. 常用的shell命令

    作为一名有10年以上使用年龄的Linux/MacOSX用户来说,键盘的作用往往要远大于鼠标.而且,作为一个黑客文化的追随者,我也希望越来越多的用户能认识到命令行的潜在价值,不要把它视为只是计算机专家们 ...

  8. JPanel

    class NewPanel extends JPanel{ public NewPanel() {} public void paintComponent(Graphics g) { int x=0 ...

  9. Linux环境下段错误的产生原因及调试方法小结(转)

    最近在Linux环境下做C语言项目,由于是在一个原有项目基础之上进行二次开发,而且 项目工程庞大复杂,出现了不少问题,其中遇到最多.花费时间最长的问题就是著名的“段错误”(Segmentation F ...

  10. winfrom自定义控件

    c#TabControl控件左边选项卡左边显示,文字横向显示 http://blog.csdn.net/kasama1953/article/details/52133713 WinForm中,给Te ...