spl_autoload_register
的簡介
spl_autoload_register
函式是實現自動載入未定義類功能的的重要方法- 所謂的自動載入意思就是我們的
new
一個類的時候必須先include
或者require
的類檔案,如果沒有include
或者require
,則會報錯。 - 但是這樣就必須在檔案頭部寫上許多
include
或者require
檔案,非常麻煩。 - 為了使得沒有
include
或者require
類的時候也正常new一個類,所以有了自動載入的概念 - 也就是說
new
一個類之前不用事先包含類檔案也可以正常new
,這樣我們的檔案頭部就不用包含許多include(require)
。這就是為什麼說spl_autoload_register
是框架靈魂。
spl_autoload_register
的三個引數
autoload_function 引數
這是一個函式 方法
名稱,可以是 字串
或者 陣列
呼叫類方法使用。這個函式 方法
的功能就是,來把需要 new
的類檔案包含 include(require)
進來,這樣 的時new
候就不會找不到檔案。其實就是封裝整個專案的 include
和 require
功能。
可以理解為當我們 new
一個類,並且這個類檔案沒有被包含時候就會執行這個autoload_function方法
throw 引數
此引數設定了 autoload_function 無法成功註冊時, spl_autoload_register()
是否丟擲異常。
prepend 引數
如果是 true
,spl_autoload_register()
會新增函式到佇列之首,而不是佇列尾部。