php類的自動加載


含義:

當某行代碼需要一個類的時候,php的內部機制可以做到“自動加載該類文件”,以滿足該行需要一個類的這種需求。

 

什么時候需要一個類?

1,new一個對象的時候;

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

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

 

 

 

 

條件和要求

1, 當需要一個類的時候,就會自動調用某個函數(默認是__autoload),並傳入所需要的類的名字

2, 一個類應該保存到一個獨立的“類文件中”:即其中只有該類的定義,沒有別的代碼;

3,習慣上,類文件的命名要有一定的“規則”,通常是:類名.class.php

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

5,在該自動加載的函數中,“充分”使用傳過來的類名,以構建一個合適的文件路徑並載入;

 

 

 

 

自定義自動加載函數:

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

 

但:

 

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

 

基本模式為:

 

spl_autoload_register(“函數1”); //聲明“函數1”作為自動加載函數;

spl_autoload_register(“函數2”); //聲明“函數2”也作為自動加載函數;

.........

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

function  函數1( $class_name ){

//.......

}

function  函數2( $class_name ){

//.......

}

.............

 

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

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM