PSR,即系列推薦標準,目前經過的規範有psr-0,psr-1,psr-2,psr-3,psr-4,它並非PHP官方的標準,而是從zend,Symfony2等知名的項目裏提煉的標準,制定該標準的組織是PHP-FIG(PHP標準組)。php
PSR-0,即類的自動加載規範,可是從2014-10-21起,該規範被過期或者廢棄,由PSR-4代替,更爲簡潔!git
1.一個徹底合格的命名空間和類名必須有如下的結構「\<Vendor Name>\Namespace\class namegithub
2.每一個命名空間必須有頂級的命名空間。函數
3.每一個命名空間能夠有任意多個子命名空間。編碼
4.每一個命名空間在被從文件系統加載時必須轉化爲路徑分隔符(DIRECTORY_SEPARATOR)(實際上最後也是被include)。spa
5.'_' 在命名空間中沒有特殊意義,要以.php結尾。接口
PSR-4get
1.術語「類」是一個泛稱;它包含類,接口,traits 以及其餘相似的結構;it
2.自動載入器的實現不可拋出任何異常,不可引起任何等級的錯誤;也不該返回值class
3.徹底限定類名應該相似以下範例:
<namespacename>(<subnamespacenames>)*<classname>< p="">
PSR-1,基礎編碼標準。
1.源文件必須使用<?php 和<?=這兩種標籤。
2.源文件中的PHP代碼必須使用不帶BOM的UTF-8.
3.一個源文件建議只用來作聲明(類,方法和常量)或者作一些引發反作用的操做(輸出信息,修改.ini文件),可是不該該同時作這兩件事情。
4.類名和文件名使用大寫駝峯。
5.常量去使用大寫字母和下劃線。
6.方法名使用小寫駝峯
PSR-2,編碼風格
代碼必須遵照 PSR-1。
代碼必須使用4個空格的縮進,而不是製表符。
一行代碼長度不該硬性限制;軟限制必須爲120個字符;也應當是80個字符或者更少。
在namespace聲明下面必須有一個空行,而且use聲明代碼塊下面也必須有一個空行。
類的左花括號必須放到下一行,右花括號必須放在類主體的下一行。
方法的左花括號必須放在下一行,右花括號必須放在方法主體下面。
全部的屬性和方法必須有可見性(譯者注:Public, Protect, Private)聲明;abstract和final聲明必須在可見性以前;static聲明必須在可見性以後。
控制結構的關鍵詞必須在後面有一個空格; 方法和函數不可有。
控制結構的左花括號必須放在同一行,右花括號必須放在控制主體的下一行。
控制結構的左括號後面不可有空格,右括號以前不可有空格