您的位置:首页 > 编程语言 > PHP开发

关于spl_autoload_register使用问题

2017-09-06 11:04 218 查看
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);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  php