这篇文章提供了两种autoload的实现方式,希望对大家有所帮助。具体方式如下:
方式1: 通過定義__autoload()這個function來實現
假設我們已經有了一個A.class.php的文件,裡面定義了Class A,文件內容如下:
<?PHP
class A {
public static function print_hello(){
print("hello A");
}
}
?>
現在我們創建一個autoload.php的文件
<?PHP
function __autoload($classname) {
include_once($classname . ".class.php");
}
class Load {
public function printa() {
A::print_hello();
}
}
Load::printa();
?>
這裡面當我們執行autoload.php的時候就會自動幫我們載入A.class.php,并且調用A::print_hello()這個方法。
方式2: 通過spl_autoload_register()來註冊我們自己的autoload方法
創建一個autload1.php的文件,文件內容如下:
<?PHP
class Load {
public static function autoload($classname) {
include_once($classname . ".class.php");
}
public function printa() {
A::print_hello();
}
}
//這裡我們註冊自己的autoload方法,使用Load類裡面的autoload
spl_autoload_register(array('Load','autoload'));
Load