摘要:詳細說明此處的類泛指所有的類接口可復用代碼塊以及其它類似結構。末尾的類名必須與對應的以為后綴的文件同名。完整類名命名空間前綴文件基目錄文件路徑關于本規范的實現,可參閱相關實例注意實例并不屬于規范的一部分,且隨時會有所變動。
Autoloader
關鍵詞 “必須”("MUST")、“一定不可/一定不能”("MUST NOT")、“需要”("REQUIRED")、
“將會”("SHALL")、“不會”("SHALL NOT")、“應該”("SHOULD")、“不該”("SHOULD NOT")、
“推薦”("RECOMMENDED")、“可以”("MAY")和”可選“("OPTIONAL")的詳細描述可參見 RFC 2119 。
本 PSR 是關于由文件路徑 自動載入 對應類的相關規范,
本規范是可互操作的,可以作為任一自動載入規范的補充,其中包括 PSR-0,此外,
本 PSR 還包括自動載入的類對應的文件存放路徑規范。
此處的“類”泛指所有的class類、接口、traits可復用代碼塊以及其它類似結構。
一個完整的類名需具有以下結構:
<命名空間>(<子命名空間>)*<類名>
完整的類名必須要有一個頂級命名空間,被稱為 "vendor namespace";
完整的類名可以有一個或多個子命名空間;
完整的類名必須有一個最終的類名;
完整的類名中任意一部分中的下滑線都是沒有特殊含義的;
完整的類名可以由任意大小寫字母組成;
所有類名都必須是大小寫敏感的。
當根據完整的類名載入相應的文件……
完整的類名中,去掉最前面的命名空間分隔符,前面連續的一個或多個命名空間和子命名空間,作為“命名空間前綴”,其必須與至少一個“文件基目錄”相對應;
緊接命名空間前綴后的子命名空間必須與相應的”文件基目錄“相匹配,其中的命名空間分隔符將作為目錄分隔符。
末尾的類名必須與對應的以 .php 為后綴的文件同名。
自動加載器(autoloader)的實現一定不能拋出異常、一定不能觸發任一級別的錯誤信息以及不應該有返回值。
3. 例子下表展示了符合規范完整類名、命名空間前綴和文件基目錄所對應的文件路徑。
完整類名 | 命名空間前綴 | 文件基目錄 | 文件路徑 |
---|---|---|---|
AcmeLogWriterFile_Writer | AcmeLogWriter | ./acme-log-writer/lib/ | ./acme-log-writer/lib/File_Writer.php |
AuraWebResponseStatus | AuraWeb | /path/to/aura-web/src/ | /path/to/aura-web/src/Response/Status.php |
SymfonyCoreRequest | SymfonyCore | ./vendor/Symfony/Core/ | ./vendor/Symfony/Core/Request.php |
endAcl | Zend | /usr/includes/Zend/ | /usr/includes/Zend/Acl.php |
關于本規范的實現,可參閱 [相關實例][]
注意:實例并不屬于規范的一部分,且隨時會有所變動。
轉自Github(PizzaLiu)
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/21158.html
摘要:注本文算是筆者對規范翻譯學習筆記,之后會陸續翻譯剩余的規范,可能翻譯的有錯誤的地方,希望讀者能夠指正,非常感謝什么是是標準建議的簡寫,是由組織框架交互操作組織提出。的工作是尋找項目之間的共性,以及讓開發者能更好協同工作的方式。 注:本文算是筆者對PSR規范翻譯/學習筆記,之后會陸續翻譯剩余的規范,可能翻譯的有錯誤的地方,希望讀者能夠指正,非常感謝. 什么是PSR? ? ??? PSR是...
摘要:概述這份聲明了關于從文件路徑自動加載類的規范。當根據完全限定類名加載對應的文件時由最開始的命名空間開始,連續的一個或多個命名空間組成的序列,不包括最前面的命名空間分隔符,在這個完全限定類名中這個序列稱為命名空間前綴,對應了至少一個基礎目錄。 PSR-4:自動加載 翻譯:薛粲授權許可:CC BY-NC 4.0 這份文檔是《PSR-4: Autoloader》的非官方譯文。 英文原文使用的...
摘要:是一系列關于開發的規范,分有好幾個版本,自己學的也較為膚淺,但還是希望能時常查看規范,為了方便記憶和遵循,我把關鍵詞為必須的撿拾出來,做個簡單地必要規范的記錄。所有文件必須使用作為行的結束符。 PSR是一系列關于PHP開發的規范,分有好幾個版本,自己學的也較為膚淺,但還是希望能時常查看規范,為了方便記憶和遵循,我把關鍵詞為必須的撿拾出來,做個簡單地必要規范的記錄。(就是個搬磚的。。。)...
摘要:原文地址一問題當我們下來一個框架,接著就開始我們表演,但是我們根據業務需求需要創建一些自定義的文件夾,那么我們該如何加載他們呢,如何避免這類錯誤二分三步來解決這個問題在中項目根目錄下創建自己的文件夾例如我在項目根目錄下創建了一個文件夾。 原文地址 一. 問題 當我們 clone下來一個laravel框架,接著就開始我們表演,但是我們根據業務需求需要創建一些自定義的文件夾,那么我們該如何...
摘要:自動加載規范此規范已被棄用本規范已于年月日被標記為棄用,目前最新的替代規范為。本文是為自動加載器實現通用自動加載,所需要遵循的編碼規范。這也是目前建議的類文件載入方式。 自動加載規范 此規范已被棄用 - 本規范已于2014年10月21日被標記為棄用,目前最新的替代規范為 [PSR-4] 。 本文是為自動加載器(autoloader)實現通用自動加載,所需要遵循的編碼規范。 規范說明 ...
閱讀 3152·2021-09-30 09:47
閱讀 2003·2021-09-22 16:04
閱讀 2274·2021-09-22 15:44
閱讀 2534·2021-08-25 09:38
閱讀 540·2019-08-26 13:23
閱讀 1221·2019-08-26 12:20
閱讀 2808·2019-08-26 11:59
閱讀 1077·2019-08-23 18:40