1. 程式人生 > >PHP PSR-4 基本程式碼規範(中文版)

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 是關於由檔案路徑 自動載入 對應類的相關規範, 本規範是可互操作的,可以作為任一自動載入規範的補充,其中包括

PSR-0,此外, 本 PSR 還包括自動載入的類對應的檔案存放路徑規範。

2. 詳細說明

  1. 此處的“類”泛指所有的class類、介面、traits可複用程式碼塊以及其它類似結構。

  2. 一個完整的類名需具有以下結構:

    \<名稱空間>(\<子名稱空間>)*\<類名>
    
    1. 完整的類名必須要有一個頂級名稱空間,被稱為 "vendor namespace";

    2. 完整的類名可以有一個或多個子名稱空間;

    3. 完整的類名必須有一個最終的類名;

    4. 完整的類名中任意一部分中的下滑線都是沒有特殊含義的;

    5. 完整的類名可以由任意大小寫字母組成;

    6. 所有類名都必須是大小寫敏感的。

  3. 當根據完整的類名載入相應的檔案……

    1. 完整的類名中,去掉最前面的名稱空間分隔符,前面連續的一個或多個名稱空間和子名稱空間,作為“名稱空間字首”,其必須與至少一個“檔案基目錄”相對應;

    2. 緊接名稱空間字首後的子名稱空間必須與相應的”檔案基目錄“相匹配,其中的名稱空間分隔符將作為目錄分隔符。

    3. 末尾的類名必須與對應的以 .php 為字尾的檔案同名。

    4. 自動載入器(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