本文章来给大家简单的介绍一下关于php自动加载类__autoload()的方法,希望此方法对各位同学会有所帮助哦。
作用:当在程序中需要实例化一个类,刚好这这类又不是在本文件中,则需要用包含函数将外部文件包含进来。但是,当要用的外部类很多后,就会发现用包含函数会显得十分的繁琐,这是就可以用__autoload()全局函数自动加载类。
当在index.php中要使用前面三个类时,就需要写三个例如include(name.class.php) 这样的方法,效率会十分低,但如果使用了__autoload()函数就不用这样麻烦了,只需要写这样一个函数方法就可以了:
在 php 5 中,不再需要这样了。可以定义一个 __autoload() 函数,它会在试图使用尚未被定义的类时自动调用。通过调用此函数,脚本引擎在 php 出错失败前有了最后一个机会加载所需的类。
在下例中将通过实例来说明 __autoload() 是如何使用的。
首先定义一个类classa,文件名为classa.class.php
代码如下 复制代码
class classa{
public function funa(){
echo classa loaded successfully!
;
}
}
然后在相同目录下再定义另一个类classb,文件名为classb.class.php,classb继承classa
funb();
?>
运行autoload.php的程序,看结果:
classa loaded successfully!
classb also loaded successfully!
例子: 文件夹下有这样几个文件:
user.class.php;
person.class.php;
message.class.php;
index.php;
我们就可以这样操作
代码如下 复制代码
index.php
function __autoload($classname){ //ucfirst() 将字符串首字母变为大写
include(ucfirst($classname).class..php); }
/**************
*例如:在index.php文件中实例化user.class.php中的user类,如果不存在则自动调用__autoload()函数
代码如下 复制代码
*,将类名user作为参数传入
*************/
$user=new user();
//通过自动加载类调用user.class.php文件
$person=new person();
//通过自动加载类调用person.class.php文件
$message=new message();
//通过自动加载类调用message.classphp文件 function= message=new person=new user=new>
http://www.bkjia.com/phpjc/632689.htmlwww.bkjia.comtruehttp://www.bkjia.com/phpjc/632689.htmltecharticle本文章来给大家简单的介绍一下关于php自动加载类__autoload()的方法,希望此方法对各位同学会有所帮助哦。 作用:当在程序中需要实例化一...
