Yii2编程规范

本文介绍的是基于Yii2开发的编程规范。
解决怎么在开发中及时发现不规范的地方和如何按照标准修正。

首先:背景知识

1、已经安装composer

2、了解PHP_CodeSniffer

PHP_CodeSniffer is a set of two PHP scripts; the main phpcs script that tokenizes PHP, JavaScript and CSS files to detect violations of a defined coding standard, and a second phpcbf script to automatically correct coding standard violations. PHP_CodeSniffer is an essential development tool that ensures your code remains clean and consistent.

3、PHP的标准,有时间可以看看:PSR中文版。
不同的框架有各自的一些额外要求。

Yii官方提供了Yii2规范,
并提动了一个支持PHP_CodeSniffer v2(>=2.3.1 <3.0)的标准库。
截至到发文时,官方还没有提供PHP_CodeSniffer v3的支持,
于是我个人fork了官方的标准,推荐使用。

其次:安装

 //php_codesniffer
composer global require "squizlabs/php_codesniffer=*"
//也可以只用composer require-dev

//yii2-coding-standards
composer global require "biaoqianwo/yii2-coding-standards"

//拷贝Yii2的标准到php_codesniffer的标准目录
sudo cp -r ~/.config/composer/vendor/biaoqianwo/yii2-coding-standards/Yii2 ~/.config/composer/vendor/squizlabs/php_codesniffer/src/Standards

//查看是否成功
~/.config/composer/vendor/bin/phpcs -i
//最后输出:
The installed coding standards are Squiz, Yii2, MySource, Zend, PSR1, PSR2 and PEAR

最后:如何使用

有两种:一种是在IDE中(这里介绍在PHPStorm中),一种是命令行。

1 PHPStorm(推荐)
1、Settings → Languages & Frameworks → PHP → Code Sniffer →
Configuration:Local→ 'PHP Code Sniffer(phpcs) path'选择你的phpcs的路径 → Validate → OK
2、Settings → Editor → Inspections → PHP → Unused:PHP Code Sniffer validation 勾选上 → Coding standard 选择Yii2 → OK
然后在编辑器中开发时,会自动检查和提示不符合标准的代码.
建议人工按照标准修正。常用 Code → Reformat Code

2 命令行(很少使用)
使用查看composer的二进制安装地址:
composer global config bin-dir --absolute
检查:
~/.config/composer/vendor/bin/phpcs --extensions=php --standard=Yii2 /to/your/yii/code/directory/or/file.php
修正:
~/.config/composer/vendor/bin/phpcbf --extensions=php --standard=Yii2 /to/your/yii/code/directory/or/file.php
命令的帮助:
~/.config/composer/vendor/bin/phpcs -h
~/.config/composer/vendor/bin/phpcbf -h

如果嫌命令太长,可以使用软链接ln -s:
ln -s ~/.config/composer/vendor/bin/phpcs /usr/bin/phpcs,
然后就可以使用phpcs --extensions=php --standard=Yii2 /to/your/yii/code/directory/or/file.php

参考 http://www.cnblogs.com/phpdragon/p/5199011.html
参考 http://www.yiichina.com/tutorial/1120

你可能感兴趣的:(Yii2编程规范)