__autoload()函数自动加载类
2007-11-15 09:16
369 查看
PHP5针对面向对象编程新增加了许多激动人心的特性,__autoload()函数就是其中之一,注意,autoload前面的下划线是两个。
这个函数最大的用处就是在实例化一个未明确定义的类时去寻找相应的文件并载入。举个例子:
<?php
$club = new Milan();
$club->show() ;
function __autoload($class_name) {
include(”$class_name.php”);
}
?>
上述文件保存为show.php。Milan类的定义文件Milan.php如下:
<?php
class Milan {
public function show() {
echo “Forza Milan!”;
}
}
?>
show.php中并没有明确的载入Milan.php文件,但是通过__autoload函数,在实例化Milan类的时候会自动把Milan.php包含进来。
我们把事情搞的复杂一点,修改Milan.php:
<?php
class Milan extends Club {
public show() {
echo $this->message;
}
}
?>
同时增加一个文件Club.php:
<?php
class Club {
public $message = “Forza Milan!”;
}
?>
Milan类继承自Club类,实例化Milan类的时候同样会自动载入Club.php。show.php运行的结果仍然是显示“Forza Milan!”。
可以想象,这个特性会给我们带来一些好处。一个复杂的web应用可能会由许许多多个封装好的类组成,一股脑地包含所有的类定义文件或者仔细地确定哪些文件应当被包含都会降低效率,__autoload则可以让我们充分地享受动态编程的好处
这个函数最大的用处就是在实例化一个未明确定义的类时去寻找相应的文件并载入。举个例子:
<?php
$club = new Milan();
$club->show() ;
function __autoload($class_name) {
include(”$class_name.php”);
}
?>
上述文件保存为show.php。Milan类的定义文件Milan.php如下:
<?php
class Milan {
public function show() {
echo “Forza Milan!”;
}
}
?>
show.php中并没有明确的载入Milan.php文件,但是通过__autoload函数,在实例化Milan类的时候会自动把Milan.php包含进来。
我们把事情搞的复杂一点,修改Milan.php:
<?php
class Milan extends Club {
public show() {
echo $this->message;
}
}
?>
同时增加一个文件Club.php:
<?php
class Club {
public $message = “Forza Milan!”;
}
?>
Milan类继承自Club类,实例化Milan类的时候同样会自动载入Club.php。show.php运行的结果仍然是显示“Forza Milan!”。
可以想象,这个特性会给我们带来一些好处。一个复杂的web应用可能会由许许多多个封装好的类组成,一股脑地包含所有的类定义文件或者仔细地确定哪些文件应当被包含都会降低效率,__autoload则可以让我们充分地享受动态编程的好处
相关文章推荐
- 自动加载函数流程之composer autoload_real.php
- php自动加载类 __autoload()函数
- __autoload自动加载函数
- 每天laravel[002]-自动加载函数流程之bootstrap autoload.php
- 如何使用composer的autoload来自动加载自己编写的函数库与类库?
- [PHP]Smarty模板造成的自动加载函数__autoload失灵问题
- php自动加载类 __autoload()函数
- 每天laravel[002]-自动加载函数流程之bootstrap autoload.php
- autoload 自动加载模型 | 函数 | 类
- 1、php----自动加载类 __autoload()函数
- php自动加载的两个函数__autoload和__sql_autoload_register
- PHP autoload机制详解 自动加载函数
- 自动加载函数流程之bootstrap autoload.php
- 关于PHP中的自动加载函数 __autoload
- PHP __autoload()函数(类文件自动加载规则)的使用方法
- [李景山php]每天laravel[002]-自动加载函数流程之bootstrap autoload.php
- 如何使用composer的autoload来自动加载自己编写的函数库与类库
- 自动加载函数流程之composer autoload_real.php
- PHP使用__autoload()函数自动加载未定义的类
- [李景山php]每天laravel[003]-自动加载函数流程之vendor autoload.php