PHP5面向对像新特征:__autoload()函数自动加载类
2009-11-27 13:40
337 查看
PHP5针对编程新增加了许多激动人心的特性,__autoload()函数就是其中之一,注意,autoload前面的下划线是两个。 面向对象
这个函数最大的用处就是在实例化一个未明确定义的类时去寻找相应的文件并载入。举个例子:
<?php
$club = new Milan();
$club->show() ;
function __autoload($class_name) {
include(”$class_name.php”);
oDK,D)U_y?W29605 }
?>
上述文件保存为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;
}
W}{"j&V0QB29605 }
?>
同时增加一个文件Club.php:
<?php
class Club {
public $message = “Forza Milan!”;
}
?>
Milan类继承自Club类,实例化Milan类的时候同样会自动载入Club.php。show.php运行的结果仍然是显示“Forza Milan!”。
可以想象,这个特性会给我们带来一些好处。一个复杂的web应用可能会由许许多多个封装好的类组成,一股脑地包含所有的类定义文件或者仔细地确定哪些文件应当被包含都会降低效率,__autoload则可以让我们充分地享受动态编程的好处
转自PHPCHINA博客
这个函数最大的用处就是在实例化一个未明确定义的类时去寻找相应的文件并载入。举个例子:
<?php
$club = new Milan();
$club->show() ;
function __autoload($class_name) {
include(”$class_name.php”);
oDK,D)U_y?W29605 }
?>
上述文件保存为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;
}
W}{"j&V0QB29605 }
?>
同时增加一个文件Club.php:
<?php
class Club {
public $message = “Forza Milan!”;
}
?>
Milan类继承自Club类,实例化Milan类的时候同样会自动载入Club.php。show.php运行的结果仍然是显示“Forza Milan!”。
可以想象,这个特性会给我们带来一些好处。一个复杂的web应用可能会由许许多多个封装好的类组成,一股脑地包含所有的类定义文件或者仔细地确定哪些文件应当被包含都会降低效率,__autoload则可以让我们充分地享受动态编程的好处
转自PHPCHINA博客
相关文章推荐
- 自动加载函数流程之composer autoload_real.php
- 每天laravel[002]-自动加载函数流程之bootstrap autoload.php
- autoload 自动加载模型 | 函数 | 类
- PHP5自动加载(autoload)机制
- [李景山php]每天laravel[004]-自动加载函数流程之composer autoload_real.php
- 如何使用composer的autoload来自动加载自己编写的函数库与类库
- php自动加载的两个函数__autoload和__sql_autoload_register
- PHP使用__autoload()函数自动加载未定义的类
- PHP5—OOP,__autoload(类文件自动加载规则)的定义方法及分析
- 自动加载函数流程之bootstrap autoload.php
- 如何使用composer的autoload来自动加载自己编写的函数库与类库?
- PHP autoload机制详解 自动加载函数
- __autoload()函数自动加载类
- php自动加载类 __autoload()函数
- php面向对象(OOP)—spl_autoload_register()注册自定义的自动加载函数
- 【PHP面向对象(OOP)编程入门教程】23.自动加载类 __autoload()函数
- 自动加载函数流程之composer autoload_real.php
- 自动加载函数流程之bootstrap autoload.php
- 自动加载函数流程之bootstrap autoload.php
- 自动加载函数流程之bootstrap autoload.php