spl_autoload_register
首先:理解__autoload()函数
当同一个文件中,实例化一个不存在的类,会自动调用__autoload()函数
用法:将类名传入,找到__autoload($class);中的路径,包含路径中的类文件
<?php
function __autoload($class)
{
$file = $class . '.php';
if (is_file($file)) {
require_once($file);
}
}
$a = new A();
理解spl_autoload_register(array(className,funcName)),就是注册一个自己的自动加载函数
参数:定义类名,方法名,当实例化一个不存在的类时,调用className类下的funcName方法
好处:可以多次注册不同的函数。
用法:
<?php function loader($class) { $file = $class . '.php'; if (is_file($file)) { require_once($file); } } spl_autoload_register('loader'); $a = new A(); spl_autoload_unregister(funcName) 看名字就清楚,这个函数的作用跟spl_autoload_register刚好相反,它是注销注册了的自动加载函数用的 如:spl_autoload_unregister(’loader‘),则在之后的操作中,实例化一个当前页面不存在的类,不会调用loader函数。