Php __autoload()函数,如何使用

Php __autoload() function, how to use

我刚开始从书本上学习 PHP。在 OOP 章节中有对 "Automatically Load Class Files" 的 __autoload() 函数的解释,但我的书没有说明我应该在哪里声明这个函数。

我尝试 Google 它并在 PHP 文档中,但我真的找不到我应该在哪里声明这个函数。在"global scope"(不知道是不是和JavaScript一样)?在应该自动加载的 class 里面?或者在 class 的 "local scope" 中我必须加载 class?

__autoload()函数的使用方法是:

<?php

    function __autoload($class){
        if(file_exists($class . ".php")){
            require_once $class . ".php";
        }
    }


    $class1 = new Class1();
    $class2 = new Class2();

在页面的最顶部声明​​该函数,然后您就可以像下面的示例一样开始使用它了。

如果您希望它在整个站点范围内可用,而不是考虑制作一个新文件,请在此处键入代码并将该文件包含在页面顶部。

something.php

<?php

    function __autoload($class){
        if(file_exists($class . ".php")){
            require_once $class . ".php";
        }
    }

不仅仅是在您需要的所有页面上包含 something.php,例如:

<?php

    require_once 'something.php';

    $class1 = new Class1();
    $class2 = new Class2();