PHP 類文件的自動加載機制 __autoload()


如果一個類在多個腳本中都需要使用,可以將一個類的定義代碼,單獨的封裝到一個文件中,這種文件也叫作類文件,在需要的時候,將整個文件載入進來即可!

 

PHP在執行的時候,如果發現需要一個類(只要是和這個類相關的任何的操作),但此時當前腳本又沒有這個類的定義代碼,也沒有手動加載這個類文件,那么,PHP會自動的調用一個名字叫作__autoload($class_name)函數,調用的時候,會給該函數傳遞一個參數,該參數就是當前所需要的類的類名!

此時,未引入Student.class.php這個類文件,用__autoload()函數自動調用需要加載的文件!

 

這樣做的最大好處就是在一個腳本中只需要載入一個文件就行了,但是也有一個很大的弊端,就是會有很多多余的類也被載入了(當前腳本根本就用不上)!

 

一般的,系統默認的自動加載函數就是__autoload(),但是隨着項目規模的擴大,有可能出現多個自動加載函數,比如加載的文件里面又有自動加載函數!此時就出現了函數重名的問題了!

第一步:定義一個可以加載類文件的普通函數

但是,此時系統不會自動的調用f1函數!

 

第二步:將該普通函數注冊成自動加載函數

 

此時,需要使用一個系統函數來完成:

spl_autoload_register(‘function_name’)

有一個參數,就是函數的名字!

結果如下

 


免責聲明!

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



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