PHP PSR-4 基本程式碼規範(中文版)
Autoloader
關鍵詞 “必須”("MUST")、“一定不可/一定不能”("MUST NOT")、“需要”("REQUIRED")、 “將會”("SHALL")、“不會”("SHALL NOT")、“應該”("SHOULD")、“不該”("SHOULD NOT")、 “推薦”("RECOMMENDED")、“可以”("MAY")和”可選“("OPTIONAL")的詳細描述可參見 [RFC 2119][http://tools.ietf.org/html/rfc2119] 。
1. 概述
本 PSR 是關於由檔案路徑 自動載入 對應類的相關規範, 本規範是可互操作的,可以作為任一自動載入規範的補充,其中包括
2. 詳細說明
-
此處的“類”泛指所有的class類、介面、traits可複用程式碼塊以及其它類似結構。
-
一個完整的類名需具有以下結構:
\<名稱空間>(\<子名稱空間>)*\<類名>
-
完整的類名必須要有一個頂級名稱空間,被稱為 "vendor namespace";
-
完整的類名可以有一個或多個子名稱空間;
-
完整的類名必須有一個最終的類名;
-
完整的類名中任意一部分中的下滑線都是沒有特殊含義的;
-
完整的類名可以由任意大小寫字母組成;
-
所有類名都必須是大小寫敏感的。
-
-
當根據完整的類名載入相應的檔案……
-
完整的類名中,去掉最前面的名稱空間分隔符,前面連續的一個或多個名稱空間和子名稱空間,作為“名稱空間字首”,其必須與至少一個“檔案基目錄”相對應;
-
緊接名稱空間字首後的子名稱空間必須與相應的”檔案基目錄“相匹配,其中的名稱空間分隔符將作為目錄分隔符。
-
末尾的類名必須與對應的以
.php
為字尾的檔案同名。 -
自動載入器(autoloader)的實現一定不能丟擲異常、一定不能觸發任一級別的錯誤資訊以及不應該有返回值。
-
3. 例子
下表展示了符合規範完整類名、名稱空間字首和檔案基目錄所對應的檔案路徑。
完整類名 | 名稱空間字首 | 檔案基目錄 | 檔案路徑 |
---|---|---|---|
\Acme\Log\Writer\File_Writer | Acme\Log\Writer | ./acme-log-writer/lib/ | ./acme-log-writer/lib/File_Writer.php |
\Aura\Web\Response\Status | Aura\Web | /path/to/aura-web/src/ | /path/to/aura-web/src/Response/Status.php |
\Symfony\Core\Request | Symfony\Core | ./vendor/Symfony/Core/ | ./vendor/Symfony/Core/Request.php |
\Zend\Acl | Zend | /usr/includes/Zend/ | /usr/includes/Zend/Acl.php |
關於本規範的實現,可參閱 相關例項
注意:例項並不屬於規範的一部分,且隨時會有所變動。
相關推薦
PHP PSR-4 基本程式碼規範(中文版)
Autoloader 關鍵詞 “必須”("MUST")、“一定不可/一定不能”("MUST NOT")、“需要”("REQUIRED")、 “將會”("SHALL")、“不會”("SHALL NOT")、“應該”("SHOULD")、“不該”("SHOULD
PHP 基本程式碼規範 PSR-1(通用版)
##PHP 基本程式碼規範 PSR-1 本節我們將會討論一些基本的程式碼規範問題,以此作為將來討論更高級別的程式碼分享和技術互用的基礎。 RFC 2119中的 必須(MUST),不可(MUST NOT),建議(SHOULD),不建議(SHOULD NOT),可以
初級程式設計師需要知道的基本程式碼規範
1.【強制】大括號的使用約定。如果是大括號內為空,則簡潔地寫成{}即可,不需要換行;如果是非空程式碼塊則: 1) 左大括號前不換行。 2) 左大括號後換行。 3) 右大括號前換行。 4) 右大括號後還有 else 等程式碼則不換行;表示終止的右大
《手把手教你學C語言》學習筆記(4)---程式碼規範
程式設計過程中需要遵守編譯器的各種約定,例如以下程式碼: 1 #include <stdio.h> 2 3 int main(int argc, char **argv) 4
PSR-4 自動載入規範
關鍵詞 “必須”(“MUST”)、“一定不可/一定不能”(“MUST NOT”)、“需要”(“REQUIRED”)、 “將會”(“SHALL”)、“不會”(“SHALL NOT”)、“應該”(“SHOULD”)、“不該”(“SHOULD NOT”)、
PHP PSR基本代碼規範(中文版)
4.2 else if val 英文 子程序 vars ext php代碼 mas PSR-1 基本代碼規範 本篇規範制定了代碼基本元素的相關標準,以確保共享的PHP代碼間具有較高程度的技術互通性。 關鍵詞 “必須”("MUST")、“一定不可/一定不能”("MUST NO
PHP PSR 程式碼規範基本介紹
PSR 是 PHP Standard Recommendation 的簡寫,即PHP推薦標準。 目前通過的規範有 PSR-0(Autoloading Standard)、PSR-1(Basic Coding Standard)、PSR-2(Coding Style Guide)、PSR-3(Logger I
PHP規範PSR-4的示例實現
以下示例說明了符合PSR-4的程式碼: 1 閉合事例 <?php /** * An example of a project-specific implementation. * * After registering this autoload function with SP
php psr 編碼規範(PSR-[0-4])
PSR 是 PHP Standard Recommendation 的簡寫,即PHP推薦標準。 目前通過的規範有 PSR-0(Autoloading Standard)、PSR-1(Basic Coding Standard)、PSR-2(Coding Style Guide)、PSR-3
php開發程式碼規範
1,if不能巢狀超過三層,儘量取反return掉 2,迴圈不要巢狀超過三層,不要申明變數,查庫等,除非必要的邏輯處理不要在迴圈中做 3,儘量減少重複程式碼,減少程式碼邏輯,如果邏輯過多,進行邏輯抽離,私有方法,靜態方法等 4,命名必須遵從駝峰形式 5,一個函式的引數最多不要超過八個
PHP PSR-0和PSR-4 自動載入標準
PSR-0:自動載入標準 已棄用 - 自2014-10-21起,PSR-0已被標記為已棄用。PSR-4現在被推薦作為替代品。 以下描述了自動裝帶器互操作性必須遵守的強制性要求。 強制性 完全限定的名稱空間和類必須具有以下結構 \<Vend
程式碼檢查|單元檢測|sonar程式碼規範檢查|java程式碼自測|sonarqube7.4下載
在這裡小小推薦下我的個人部落格 簡書:雷園的簡書 某寶優惠:優惠網站 第一步下載最新版的sonarqube7.4 1.官方下載地址,下載社群版,是開源免費的。 2.不知道什麼原因我在官網下載特別慢,可能是因為資源不足的原因。所以我在這裡放一個備用連結。當
PSR-4規範:自動載入
摘要: FIG-PHP工作組推出的PSR-4規範能夠滿足面向package的自動載入,它規範瞭如何從檔案路徑自動載入類,同時規範了自動載入檔案的位置。 1. PSR-4規範:自動載入 雖然在[PSR-4-Meta]中指出PS
php 程式碼規範簡潔
1. 統一的編碼規範 編碼規範往簡單說其實就是三個方面: 換行空格變數命名 放在 PHP 裡面,還有一些附加的地方,比如關鍵字大小寫,語法糖的使用(array()與[]等)的問題。之前整理過PSR的標準,也找過php-cs-fixer這樣的工具。這些都是規範程式碼的重要
PHP數組基本的操作方法
我們 for循環 一個 功能 text park 數據 data- ray 1、數組操作的基本函數 數組的鍵和值: array_values($arr);獲得數組的值 array_keys($arr);獲得數組的鍵名 array_flip($arr);數組中的值與鍵名
作業4基本數據類型
lee 沒有 相同 包含 逗號 app 每一個 手機 dbo 基本數據類型 1數字:(1) 整型 int : 比如年紀,等級,身份證號,手機號。。。 (2)浮點型float:比如 身高,體重 ,工資,價格 2字符串: str: 包含在引號 (單
fl studio(水果音樂制作軟件中文版) v12.4.2.33 官方中文版
支持 破解 保存 order 混音 很好 可能 專業 blas fl studio 12漢化破解版又稱水果音樂制作軟件,主要用於音樂的制作、編輯等操作,許多專業的音樂制作人都會用到這款軟件。fl studio 12漢化破解版擁有豐富的插件和特效,可以方便用戶制作出不同風格的
PSR-2 編碼風格規範
rabl val 字符 調用 所有 public 修飾符 class 只有一個 本篇規範是 PSR-1 基本代碼規範的繼承與擴展。 本規範希望通過制定一系列規範化PHP代碼的規則,以減少在瀏覽不同作者的代碼時,因代碼風格的不同而造成不便。 當多名程序員在多個項目中合作時,就
psr-0 和 psr-4
tails whole project top load ans absolut path intent PSR-4 is something like ‘relative path‘, PSR-0, ‘absolute path‘. e.g. config: ‘App\C
將centos 7 自帶的 php 5.4升級為 5.6
star bin copyright ati 刪除 -o conf mcrypt ble 1、php -v PHP 5.4.16 (cli) (built: Nov 6 2016 00:29:02) Copyright (c) 1997-2013 The PHP