在php中需要用到另一個檔案中的php程式碼是時,可以用include、include_once、require、require_once去引入類別檔案。其中require和include的區別是語法嚴格度的區別:當引入的文件發生錯誤時,使用include的語法會報錯,但其後面的語句會繼續執行。而require在發生錯誤後則會停止執行。
include和include_once的差異在於:include在使用時,存在一次就會引入一次,而include_once當引入相同的檔案時則會只引入一次。
一般在使用中由於可能會包含大量的引入文件,這時就需要寫大量的include/require語句。這樣極為不便,針對這種情況,可以使用自動載入。
1.使用__autoload()魔術函數:
當程式「需要一個類別「時,系統會自動呼叫該函數,該函數需要 我們自己定義:
function __autoload($className){ require "需要引入文件的路径(不包含文件名)".$className.".php"; }
變數$className是在自動呼叫該函數是傳入的類別名稱。
2.使用spl_autoload_register()函數:
用它宣告多個可以用來取代__autoload()函數,
## 函數名稱1");
spl_autoload_register("函數名稱2");............這樣的功能其實是和__autoload()的功能一樣;
//此处声明三个自动加载函数名, spl_autoload_register('auto1'); spl_autoload_register('auto2'); spl_autoload_register('auto2'); //接下来需要定义所声明的函数。 function auto1($className){ $file="文件路径".$className.".php"; if(file_exists($file)){ require $file; } } function auto2($className){ $file="文件路径".$className.".php"; if(file_exists($file)){ require $file; } } function auto2($className){ $file="文件路径".$className.".php"; if(file_exists($file)){ require $file; } }
在使用该方法时,需要类时,会按照声明的顺序先从auto1()调用,如果有的话就引入,如果不存在,就到下一个函数调用......
相關推薦:
PHP實作自動載入功能#PHP實作路由和類別自動載入PHP實作自動載入相關函數以上是PHP中類別自動載入實例解析的詳細內容。更多資訊請關注PHP中文網其他相關文章!