本篇規范是 [PSR-1](http://www.hmoore.net/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. 總結