OOP中的PHP__自动加载函数

OOP中的PHP__自动加载函数,php,oop,autoload,Php,Oop,Autoload,__autoload()函数(PHP)必须是独立函数,还是可以在类中用作公共/受保护/私有函数 我听说它必须是一个独立的函数,不应该在类中使用。这是真的还是可以在课堂上使用 提前谢谢 您可以使用SPL: class MyAutoloader { public static function register() { spl_autoload_register(array(new self, 'autoload')); } public stati

__autoload()函数(PHP)必须是独立函数,还是可以在类中用作公共/受保护/私有函数

我听说它必须是一个独立的函数,不应该在类中使用。这是真的还是可以在课堂上使用


提前谢谢

您可以使用SPL:

class MyAutoloader
{
    public static function register()
    {
        spl_autoload_register(array(new self, 'autoload'));
    }

    public static function autoload($classname)
    {
        // auto load code
    }
}

您可以为此使用SPL:

class MyAutoloader
{
    public static function register()
    {
        spl_autoload_register(array(new self, 'autoload'));
    }

    public static function autoload($classname)
    {
        // auto load code
    }
}
看,上面写着:

为自动加载类提供了更灵活的选择。因此,不鼓励使用_autoload(),将来可能会被弃用或删除

如果您需要一些如何使用某个类的方法作为自动加载机制的示例,请参阅。

请参阅,其中说明:

为自动加载类提供了更灵活的选择。因此,不鼓励使用_autoload(),将来可能会被弃用或删除


如果您需要一些如何使用某个类的方法作为自动加载机制的示例,请参阅。

在您创建的某个随机类中使用u autoload()有什么意义

__当您尝试从尚未定义的类实例化对象时,会调用autoload()(
spl\u register\u autoload()
优于
\u autoload()

因此,它必须是全球可用的。PHP不知道类
XYZ
包含要调用的名为
\uu autoload()
的函数


您可以创建一个处理自动加载的类,然后使用
spl\u autoload\u register()
函数调用需要自动加载的类。

在您创建的某个随机类中使用“autoload()有什么意义

__当您尝试从尚未定义的类实例化对象时,会调用autoload()(
spl\u register\u autoload()
优于
\u autoload()

因此,它必须是全球可用的。PHP不知道类
XYZ
包含要调用的名为
\uu autoload()
的函数


您可以创建一个处理自动加载的类,然后使用
spl\u autoload\u register()
函数调用您的类以满足自动加载的需要。

我刚刚接受了一个答案,所以我也需要等待8分钟才能接受您的答案:PI刚刚接受了一个答案,所以我也需要等待8分钟才能接受您的答案:p“\uuu autoload()在您尝试从尚未定义的类实例化对象时被调用”这就是重点。我的类使用其他类中的各种其他方法,因为它是我的站点和FileMaker API之间的“接口”,使生活更简单。因此我想初始化“任何将使用的类。感谢您的输入。”\uu autoload()当您尝试从尚未定义的类实例化对象时调用。这就是重点。我的类使用其他类中的各种其他方法,因为它是我的站点和FileMaker API之间的“接口”,使生活更轻松。因此我想初始化将要使用的任何类。感谢您的输入。