spl_autoload_register的理解和实际用法

[php] 2024-05-04 圈点817

摘要:spl_autoload_register的理解和实际用法,在直接实例化没有引用类的文件的时候,使用spl_autoload_register将会尝试去引用对应的类文件,自动的传递以类名为值的参数。

用法说明:

在调用类的时候,如果没有先引用,就可以调用它,进而尝试激活它;


用法示例:

<?php

class Autoloader{

    public static function autoload($class) {

        $name = $class;

        if(false !== strpos($name,'\\')){

          $name = strstr($class, '\\', true);

        }

        echo $name;

        $filename = "E:\webs\d\".$name.".php";

        if(is_file($filename)) {

            include $filename;

            return;

        }

    }

}

spl_autoload_register('Autoloader::autoload');


$x = new a;

//实例化类a的时候,它会自动的引用类文件"E:\webs\d\".$name.".php",尝试激活它。

?>


理解:

在直接实例化没有引用类的文件的时候,使用spl_autoload_register将会尝试去引用对应的类文件,自动的传递以类名为值的参数。

其实spl_autoload_register仅仅去调用一个函数,并送过去一个类名参数。只是这个函数有的特点是,在没有实例化类的时候,就会自动去调用。

autoload  

感谢反馈,已提交成功,审核后即会显示