__autoload() 类文件自动加载函数
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了__autoload() 类文件自动加载函数相关的知识,希望对你有一定的参考价值。
这个魔术方法是用来自动加载程序所用到类文件的php源文件,这样就避免了我们一个一个自动去require或者include了,这个函数会在试图使用尚未被定义的类时自动调用。通过调用此函数,脚本引擎在 PHP 出错失败前有了最后一个机会加载所需的类,但是我最近看过一篇文章,上面说__autoload()的效率不是很高。以下是示例代码:
1 <?php 2 功能:在当前页使用类时自动加载该类的文件 3 参数$className 为类的名称 可自定义 4 5 */ 6 7 function __autoload($className){ 8 9 $className=strtolower($className);//最好加上这一步,因为类首字母大写,某些系统区分文件名的大小写 10 11 require("$className.class.php");//加载类文件 One.class.php Two.class.php与本文件在同一目录下 12 13 echo ‘------------------------------<br>‘;//作为调用时的标记来测试 14 15 } 16 17 //以下两个类均未在本文件中定义 18 19 $o=new One();//使用One类,对其初始化 20 21 $t=new Two();//使用Two类,对其初始化 22 23 ?>
注意这个函数如果需要正常加载,需要将文件名设置成类名(推荐小写).class.php等类名和文件名有某种关联才可以,另外如果这个函数出现异常不能被Catch捕获,将会显示Fatal Error
以上是关于__autoload() 类文件自动加载函数的主要内容,如果未能解决你的问题,请参考以下文章
php中自动加载类_autoload()和spl_autoload_register()实例详解