PHP程序员站--PHP编程开发平台
 当前位置:主页 >> PHP高级编程 >> 高级应用 >> 

php使用__autoload()自动加载类

php使用__autoload()自动加载类

来源:phperz.com  作者:phper  发布时间:2012-04-05
在大的项目中,不可能把所有的类都写在一个php文件,当在一个php文件中需要市调用另一个文件中实现的类时.就需要通过include把这个文件引入,不过有的时候,大的项目中文件众多,要一一将所有需要要的类include进来,还真是让人头痛,鉴于此,php5提供了__autoload()来解决这个
在大的项目中,不可能把所有的类都写在一个php文件,当在一个php文件中需要市调用另一个文件中实现的类时.就需要通过include把这个文件引入,不过有的时候,大的项目中文件众多,要一一将所有需要要的类include进来,还真是让人头痛,鉴于此,php5提供了__autoload()来解决这个问题

php5利用__autoload()函数来自动加载所需要的类, __autoload()函数的参数即为所需要自动加载的类

例:
<?php
function __autoload($class_name){
    include($class_name.".php");
    //实例化对象时,如果类不存在,则调用__autoload()函数,其参数为类名
    $s    =    new xx_obj;
    echo $s->name;
}
?>

上例中实现了php5预定义全局函数__autoload(),其功能为自动加载所需要的类,在实例化一个对象时,没有include来引入文件,因此找不到这个类,这时php将自动调用__autoload()函数,并传递参数(类名),__autoload()函数加载文件 "类名.php",如果这个文件中定义了类,那么上面的例子就会正常运行.

不难发现,在组织定义类的文件名时,需要安一定的规则,最好是以类名为中心,加上统一的前缀,或后缀形成文件名.

延伸阅读:
PHP autoload机制详解
Tags: autoload   自动加载  
最新文章
推荐阅读
月点击排行榜
PHP程序员站 Copyright © 2007-2010,PHPERZ.COM All Rights Reserved 粤ICP备07503606号