摘要:自動加載規范此規范已被棄用本規范已于年月日被標記為棄用,目前最新的替代規范為。本文是為自動加載器實現通用自動加載,所需要遵循的編碼規范。這也是目前建議的類文件載入方式。
自動加載規范
此規范已被棄用 - 本規范已于2014年10月21日被標記為棄用,目前最新的替代規范為 [PSR-4] 。
本文是為自動加載器(autoloader)實現通用自動加載,所需要遵循的編碼規范。
規范說明一個標準的 命名空間(namespace) 與 類(class) 名稱的定義必須符合以下結構:
其中Vendor Name為每個命名空間都必須要有的一個頂級命名空間名;
需要的話,每個命名空間下可以擁有多個子命名空間;
當根據完整的命名空間名從文件系統中載入類文件時,每個命名空間之間的分隔符都會被轉換成文件夾路徑分隔符;
類名稱中的每個 _ 字符也會被轉換成文件夾路徑分隔符,而命名空間中的 _ 字符則是無特殊含義的。
當從文件系統中載入標準的命名空間或類時,都將添加 .php 為目標文件后綴;
組織名稱(Vendor Name)、命名空間(Namespace) 以及 類的名稱(Class Name) 可由任意大小寫字母組成。
范例DoctrineCommonIsolatedClassLoader => /path/to/project/lib/vendor/Doctrine/Common/IsolatedClassLoader.php
SymfonyCoreRequest => /path/to/project/lib/vendor/Symfony/Core/Request.php
endAcl => /path/to/project/lib/vendor/Zend/Acl.php
endMailMessage => /path/to/project/lib/vendor/Zend/Mail/Message.php
命名空間以及類名稱中的下劃線amespacepackageClass_Name => /path/to/project/lib/vendor/namespace/package/Class/Name.php
amespacepackage_nameClass_Name => /path/to/project/lib/vendor/namespace/package_name/Class/Name.php
以上是使用通用自動加載必須遵循的最低規范標準, 可通過以下的示例函數 SplClassLoader 載入 PHP 5.3 的類文件,來驗證你所寫的命名空間以及類是否符合以上規范。
實例以下示例函數為本規范的一個簡單實現。
SplClassLoader 實例以下的 gist 是 一個 SplClassLoader 類文件的實例,如果你遵循了以上規范,可以把它用來載入你的類文件。 這也是目前 PHP 5.3 建議的類文件載入方式。
Gist地址
轉自Github(PizzaLiu)
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/21163.html
摘要:前言在開始之前,歡迎關注我自己的博客這篇文章是對自動加載功能的一個總結,內容涉及的自動加載功能的命名空間的與標準等內容。要實現第一步,第二步的功能,必須在開發時約定類名與磁盤文件的映射方法,只有這樣我們才能根據類名找到它對應的磁盤文件。 前言 在開始之前,歡迎關注我自己的博客:www.leoyang90.cn 這篇文章是對PHP自動加載功能的一個總結,內容涉及PHP的自動加載功能、P...
摘要:制定的規范,簡稱,是開發的事實標準。原本有四個規范,分別是自動加載基本代碼規范代碼樣式日志接口年底,新出了第個規范。區別在于的規范比較干凈,去除了兼容以前版本的內容,有一點升級版的感覺。 FIG制定的PHP規范,簡稱PSR,是PHP開發的事實標準。 PSR原本有四個規范,分別是: PSR-0 自動加載 PSR-1 基本代碼規范 PSR-2 代碼樣式 PSR-3 日志接口 20...
摘要:概述這份聲明了關于從文件路徑自動加載類的規范。當根據完全限定類名加載對應的文件時由最開始的命名空間開始,連續的一個或多個命名空間組成的序列,不包括最前面的命名空間分隔符,在這個完全限定類名中這個序列稱為命名空間前綴,對應了至少一個基礎目錄。 PSR-4:自動加載 翻譯:薛粲授權許可:CC BY-NC 4.0 這份文檔是《PSR-4: Autoloader》的非官方譯文。 英文原文使用的...
摘要:是一系列關于開發的規范,分有好幾個版本,自己學的也較為膚淺,但還是希望能時常查看規范,為了方便記憶和遵循,我把關鍵詞為必須的撿拾出來,做個簡單地必要規范的記錄。所有文件必須使用作為行的結束符。 PSR是一系列關于PHP開發的規范,分有好幾個版本,自己學的也較為膚淺,但還是希望能時常查看規范,為了方便記憶和遵循,我把關鍵詞為必須的撿拾出來,做個簡單地必要規范的記錄。(就是個搬磚的。。。)...
閱讀 2650·2021-11-25 09:43
閱讀 670·2021-11-12 10:36
閱讀 4615·2021-11-08 13:18
閱讀 2168·2021-09-06 15:00
閱讀 3106·2019-08-30 15:56
閱讀 924·2019-08-30 13:57
閱讀 1985·2019-08-30 13:48
閱讀 1413·2019-08-30 11:13