thinkphp5名稱空間+自動載入
阿新 • • 發佈:2018-12-10
1.composer NS \ psr0 不要求
2.psr0裡面最後一個\之後的類名中_會轉換成路徑分隔符
3.psr0有更深的目錄結構
4類自動載入對應的目標檔案查詢方式
Loader::autoload 自動載入註冊函式
Loader::findFile 載入檔案查詢函式
Loader::addClassMap 註冊類別名
Loader::addNamespace 註冊psr4名稱空間
Loader::addNamespaceAlias 註冊別名
PHP 名稱空間
從廣義上來說,名稱空間是一種封裝事物的方法。在很多地方都可以見到這種抽象概念。
例如,在作業系統中目錄用來將相關檔案分組,對於目錄中的檔案來說,它就扮演了名稱空間的角色。
具體舉個例子,檔案 foo.txt 可以同時在目錄/home/one 和 /home/other 中存在,但在同一個目錄中不能存在兩個 foo.txt 檔案。
另外,在目錄 /home/one外訪問 foo.txt 檔案時,我們必須將目錄名以及目錄分隔符放在檔名之前得到 /home/one/foo.txt。這個原理應用到程式設計領域就是名稱空間
的概念。
延遲載入解決的問題
按需載入PHP類檔案,免去載入沒用到的類檔案,提高系統性能
延遲載入實現原理
1.延遲載入又叫自動載入,通過註冊載入函式__autoload() 或spl_autoload_register