PHP中autoload的实现方式

作者: 2011/5/25 15:28:00

这篇文章提供了两种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
 

特别推荐

玩家留言 跟帖评论
查看更多评论