__autoload()

Posted starshine-zhp

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了__autoload()相关的知识,希望对你有一定的参考价值。

__autoload() 类文件自动加载函数

这个魔术方法是用来自动加载程序所用到类文件的php源文件,这样就避免了我们一个一个自动去require或者include了,这个函数会在试图使用尚未被定义的类时自动调用。通过调用此函数,脚本引擎在 PHP 出错失败前有了最后一个机会加载所需的类,但是我最近看过一篇文章,上面说__autoload()的效率不是很高

  首先需要在同一目录下面创建一个类名相同的php类文件

  然后

    function __autoload($className){
       $file = $className.".php";
       include $file;
    }
    $className = new className;

注意这个函数如果需要正常加载,需要将文件名设置成类名(推荐小写).class.php等类名和文件名有某种关联才可以,另外如果这个函数出现异常不能被Catch捕获,将会显示Fatal Error

以上是关于__autoload()的主要内容,如果未能解决你的问题,请参考以下文章

spl_autoload_register 和 __autoload()魔术方法

sql_autoload_register() 函数 和__autoload() 的区别

__autoload() 没有被调用?

spl_autoload_register与autoload的区别详解

详解spl_autoload_register() 与 __autoload

如何使用 __autoload 从多个目录加载类?