1. 程式人生 > >thinkphp5名稱空間+自動載入

thinkphp5名稱空間+自動載入

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