php中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::printa();
?>
|
其執行結果也一樣,會自動include_once("A.class.php"),然後幫我們調用class A 的print_hello()方法.
阅读(714) | 评论(0) | 转发(0) |