基本規範
- PHP代碼文件 必須 以 <?php 或 <?= 標籤開始;
- PHP代碼文件 必須 以 不帶 BOM 的 UTF-8 編碼;
- 類的命名 必須 遵循 StudlyCaps 大寫開頭的駝峯命名規範;
- 類中的常量全部字母都 必須 大寫,單詞間用下劃線分隔;
- 方法名稱 必須 符合 camelCase 式的小寫開頭駝峯命名規範。
psr-0自動加載規範
\namespace\package\Class_Name => /path/to/project/lib/vendor/namespace/package/Class/Name.php
\namespace\package_name\Class_Name => /path/to/project/lib/vendor/namespace/package_name/Class/Name.php
- 當從文件系統中載入標準的命名空間或類時,都將添加 .php 爲目標文件後綴;
- 頂級組織名(Vendor Name)\ 命名空間(Namespace)\ 類名(Class);
psr-1規範
-
類屬性命名php
- 大寫開頭的駝峯式 ($StudlyCaps)
- 小寫開頭的駝峯式 ($camelCase)
- 下劃線分隔式 ($under_score)
psr-2風格規範
- 每一個 namespace 命名空間聲明語句和 use 聲明語句塊後面,必須 插入一個空白行。
- 類的開始花括號({) 必須 寫在函數聲明後自成一行,結束花括號(})也 必須 寫在函數主體後自成一行。
- 方法的開始花括號({) 必須 寫在函數聲明後自成一行,結束花括號(})也 必須 寫在函數主體後自成一行。
- 類的屬性和方法 必須 添加訪問修飾符(private、protected 以及 public),abstract 以及 final 必須 聲明在訪問修飾符以前,而 static 必須 聲明在訪問修飾符以後。
- 控制結構的關鍵字後 必須 要有一個空格符,而調用方法或函數時則 必定不可 有。
- 控制結構的開始花括號({) 必須 寫在聲明的同一行,而結束花括號(}) 必須 寫在主體後自成一行。
psr-3日誌接口規範
psr-4自動加載規範
- 全限定類名必須擁有頂級命名空間
- 全限定類名能夠有一個或者多個子命名空間名稱。
- 全限定類名必須有一個最終的類名(我想意思應該是你不能這樣<NamespaceName>(<SubNamespaceNames>)*來表示一個完整的類)。
- 廢棄Namespaceclass_method的下劃線結構
psr-5註釋規範
psr-6緩存接口規範
psr-7http消息接口規範
psr-9安全規範
psr-11容器接口規範
參考資料
Laravel社區
GitHub