1.先说下基础的东西__autoload(),魔法函数。
解释:这个东西其实就是当你用了不知道在哪里的class的时候,这个函数就会被调用。
例子:
<?php
function __autoload( $class ) {
echo "您调用了我不知道的class,这里调用的是autoload";
}
$cc = new dd();
?>
2.解释完了__autoload,解释下spl_autoload_register,这个东西和__autoload是差不多的,只是具体的执行函数是自己定义的。
例子:
<?php
function __autoload( $class ) {
echo "您调用了我不知道的class,这里调用的是autoload";
}
function ee1(){
echo "您调用了我不知道的class,这里调用的是spl_autoload_register1";
}
function ee2(){
echo "您调用了我不知道的class,这里调用的是spl_autoload_register2";
}
spl_autoload_register("ee1");
spl_autoload_register("ee2");
$cc = new dd();
?>
简单的解释过了,应该也知道怎么用了。
在解释下spl_autoload_register的具体用法吧。
bool spl_autoload_register ([ callable $autoload_function
[, bool $throw
= true [, bool$prepend
= false ]]] )
返回值:bool类型
参数:
第一个参数:具体要注册的方法(也就是你想要调用的方法)
第二个参数:无法成功时,是否抛出异常
第三个参数:true 将你的方法放到自动执行方法的队首(可以注册多个方法)
注意:
当__autoload和spl_autoload_register 同时出现的时候,__autoload 是没有效果的,
如果你还想让你的__autoload有效果
将你的__autoload也注册进去就可以了如下
spl_autoload_register("__autoload",'',true);