php實作類別自動載入的方法:1、使用「__autoload」魔術函數實作載入類別;2、透過「spl_autoload_register」函數取代autoload函數作用。
推薦:《PHP影片教學》
類別的自動載入是指,在外面的頁面中,並不需要去「引入」類別文件,但是程式會在需要的時候動態載入需要的類別文件。
方法1:使用__autoload魔術函數
#當程式需要某個類別時,就會去呼叫函數,該函數我們需要自己去定義並在其中寫好載入類別文件的通用語句。
<?php //需要类是自动调用,而且会传进来一个类名,这个案例的文件名为21A.class.php,类名为A function __autoload($className){ require "./21".$className.".class.php"; } $o1 = new A(); $o1->v1 = 10; echo "<br/>v1:".$o1->v1; ?>
方法2:使用spl_autoload_register函數
此函數的作用是生命多個可以用來代替autoload函數作用的函數,文法如下:spl_autoload_regist("函數名稱1");如果用spl_autoload_register,autoload就失效了。
<?php //注册两个用于自动加载的函数名 spl_autoload_register('auto1'); spl_autoload_register('auto2'); function auto1($className){ $file = "./21".$className.".class.php"; if(file_exists($file)){ require "./21".$className.".class.php"; } } function auto1($className){ $file = "./22".$className.".class.php"; if(file_exists($file)){ require "./22".$className.".class.php"; } } //如果需要一个类,但这个页面还没有记载,就会依次调用auto1和auto2,知道找到该类文件并加载 ?>
以上是php如何實作類別的自動載入的詳細內容。更多資訊請關注PHP中文網其他相關文章!