- 论坛徽章:
- 0
|
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()方法.
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/23094/showart_2157706.html |
|