本篇规范是 [PSR-1](http://www.kancloud.cn/k12_develop/php-psr1) 基本代码规范的继承与扩展。
本规范希望通过制定一系列规范化PHP代码的规则,以减少在浏览不同作者的代码时,因代码风格的不同而造成不便。
当多名程序员在多个项目中合作时,就需要一个共同的编码规范,
而本文中的风格规范源自于多个不同项目代码风格的共同特性,
因此,本规范的价值在于我们都遵循这个编码风格,而不是在于它本身。
关键词 “必须”("MUST")、“一定不可/一定不能”("MUST NOT")、“需要”("REQUIRED")、
“将会”("SHALL")、“不会”("SHALL NOT")、“应该”("SHOULD")、“不该”("SHOULD NOT")、
“推荐”("RECOMMENDED")、“可以”("MAY")和”可选“("OPTIONAL")的详细描述可参见 [RFC 2119][] 。
## 1. 概览
* 代码**必须**遵循 PSR-1 中的编码规范 。
* 代码**必须**使用4个空格符而不是 tab键 进行缩进。
* 每行的字符数**应该**软性保持在80个之内, 理论上**一定不可**多于120个, 但**一定不能**有硬性限制。
* 每个namespace命名空间声明语句和use声明语句块后面,**必须**插入一个空白行。
* 类的开始花括号({)**必须**写在函数声明后自成一行,结束花括号(})也**必须**写在函数主体后自成一行。
* 方法的开始花括号({)**必须**写在函数声明后自成一行,结束花括号(})也**必须**写在函数主体后自成一行。
* 类的属性和方法**必须**添加访问修饰符(private、protected以及public),abstract以及final**必须**声明在访问修饰符之前,而static**必须**声明在访问修饰符之后。
* 控制结构的关键字后**必须**要有一个空格符,而调用方法或函数时则**一定不能**有。
* 控制结构的开始花括号({)**必须**写在声明的同一行,而结束花括号(})**必须**写在主体后自成一行。
* 控制结构的开始左括号后和结束右括号前,都**一定不能**有空格符。
- 1. 概览
- 1.1. 例子
- 2. 通则
- 2.1 基本编码准则
- 2.2 文件
- 2.3. 行
- 2.4. 缩进
- 2.5. 关键字 以及 True/False/Null
- 3. namespace 以及 use 声明
- 4. 类、属性和方法
- 4.1. 扩展与继承
- 4.2. 属性
- 4.3. 方法
- 4.4. 方法的参数
- 4.5.abstract、final、 以及static
- 4.6. 方法及函数调用
- 5. 控制结构
- 5.1.if、elseif和else
- 5.2.switch和case
- 5.3.while和do while
- 5.4.for
- 5.5.foreach
- 5.6.try,catch
- 6. 闭包
- 7. 总结