php中自動載入是什麼東西?

2020-07-16 10:06:35
本篇文章介紹了PHP中的自動載入的概念,以及在什麼情況下需要使用自動載入,感興趣的小夥伴一起來學習一下吧!

當某行程式碼需要一個類的時候,php的內部機制可以做到「自動載入該類檔案」,以滿足該行需要一個類的這種需求。
什麼時候需要一個類?

1,new一個物件的時候;

2,使用一個類的靜態方法的時候;

3,定義一個類(B)並以另一個類(A)作為父類別的時候;

20200117213806332.png

條件和要求

1, 當需要一個類的時候,就會自動呼叫某個函數(預設是__autoload),並傳入所需要的類的名字

2, 一個類應該儲存到一個獨立的「類檔案中」:即其中只有該類的定義,沒有別的程式碼;

3,習慣上,類檔案的命名要有一定的「規則」,通常是:類名.class.php

4,通常,我們需要將各種類,儲存在一些特定的目錄中,以方便確定其位置!

5,在該自動載入的函數中,「充分」使用傳過來的類名,以構建一個合適的檔案路徑並載入;

20200117213854178.png

自定義自動載入函數

剛才,__autoload()函數,是系統內部的自動載入函數,我們只是定義其函數體。

但:

我們可以使用更多函數(自定義的),來實現更靈活的自動載入!

基本模式為:

spl_autoload_register(「函數1」); //宣告「函數1」作為自動載入函數;
spl_autoload_register(「函數2」); //宣告「函數2」也作為自動載入函數;
.........

然後,就去定義這些函數,跟定義__autoload()函數一樣:

function 函數1( $class_name ){
//.......
}
function 函數2( $class_name ){
//.......
}
.............

這樣,系統就會一次呼叫這些自動載入函數去載入所需要的類,直到載入成功!

20200117213937770.png

推薦:《PHP教學

以上就是php中自動載入是什麼東西?的詳細內容,更多請關注TW511.COM其它相關文章!