[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仅仅去调用一个函数,并送过去一个类名参数。只是这个函数有的特点是,在没有实例化类的时候,就会自动去调用。