# 「PSR 规范执行」代码标准执行步骤
# 1. 阅读PSR规范
阅读并理解PSR规范,并在代码编写过程中自觉执行。代码样式标准执行PSR2。请参照php-fig官网的格式约束(http://www.php-fig.org/psr/psr-2/)。
# 2. 代码格式化(CodeFormatter插件)
代码编辑器安装代码格式化插件,通用的IDE和文本编辑器都有相应的代码格式化支持。以Sublime为为例,其代码格式化插件为CodeFormatter。其他IDE可自行百度安装。
### 2.1. 安装CodeFormatter插件
> Ctrl+Shift+p install package, 在弹出窗口中安装CodeFormatter插件。安装完成后可在菜单中看到(Preferences -> Package Settings -> CodeFormatter)。
### 2.2. 配置CodeFormatter插件
> 配置PHP标准执行路径和执行标准。
> 查看菜单Preferences -> Package Settings -> CodeFormatter,复制Settings – Default到Settings – User,然后在Settings – User中按下图修改自己的PHP路径
![CodeFormatter Setting](./img/codeformatter1.png)
### 2.3. 配置CodeFormatter格式化快捷键
> 为防止与QQ等快捷键的冲突,请自行修改快捷键,请复制Key Bindings - Default到Key Bindings – User,如下图所示[ctrl+alt+f]为格式化代码的快捷键
![CodeFormatter key](./img/codeformatter2.png)
# 3. 代码标准检测(PHP_CodeSniffer插件)
代码编辑器安装代码标准检测插件,通用的IDE和文本编辑器都有相应的代码标准检测支持。以Sublime为为例,其代码标准检测插件为PHP Code Sniffer。其他IDE可自行百度安装。**注意:安装PHP_CodeSniffer(PHP_cs)之前需要安装pear和pear包**
### 3.1. WAMP安装pear,PHP_CodeSniffer
> http://blog.csdn.net/ruby97/article/details/8868197
### 3.2. PHPStorm安装PHP_CodeSniffer
> http://www.educity.cn/wenda/23493.html
### 3.3. Sublime安装PHP_CodeSniffer
> http://my.oschina.net/qsmoon/blog/280813
以Sublime为例,安装PHP_CodeSniffer插件完成后。当使用快捷键保存时,会检测代码是否符合标准。不符合代码标准的会报错。如下图:
![CodeFormatter key](./img/checkerror.png)
> 另外,使用MAC,Linux和其他PHP编辑器的代码标准检测,请自行百度安装。
# 4. SVN强校验
SVN中编写phpcs pre-commit钩子代码,对提交的代码进行标准化检测。参考:
>* http://ljzxzxl.com/201303/website/linux-652.html
>* http://stackoverflow.com/questions/11966749/code-sniffer-svn-pre-commit-hook
>* https://github.com/squizlabs/PHP_CodeSniffer/blob/master/scripts/phpcs-svn-pre-commit
>* http://stackoverflow.com/questions/3373083/php-codesniffer-phpcs-how-to-allow-override-when-using-as-part-of-a-svn-pre
![CodeFormatter key](./img/svn_pre_commit.png)
# 5. GIT强校验
pre-receive脚本中集中监测,即在git push命令时触发。
![CodeFormatter key](./img/git_pre_receive.png)
Git push提交时的报错提示:
![CodeFormatter key](./img/gitcheckerror.png)