关于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
true [, bool
false ]]] )
返回值:bool类型
参数:
第一个参数:具体要注册的方法(也就是你想要调用的方法)
第二个参数:无法成功时,是否抛出异常
第三个参数:true 将你的方法放到自动执行方法的队首(可以注册多个方法)
注意:
当__autoload和spl_autoload_register 同时出现的时候,__autoload 是没有效果的,
如果你还想让你的__autoload有效果
将你的__autoload也注册进去就可以了如下
spl_autoload_register("__autoload",'',true);
解释:这个东西其实就是当你用了不知道在哪里的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中命名空间和spl_autoload_register函数的关系说明
- spl_autoload_register使用成员函数的用法
- 关于php中的spl_autoload_register
- spl_autoload_register()自动加载+命名空间的使用
- php中SPL spl_autoload_register与__autoload方法使用
- PHP进阶学习之spl_autoload_register与__autoload方法使用
- php spl_autoload_register函数使用
- spl_autoload_register的使用
- 关于spl_autoload_register()
- 关于php 中spl_autoload_register的一些补充
- 使用spl_autoload_register实现自动加载
- 关于shm_open和shm_unlink的使用问题
- 关于使用VS.Net2003调试器出现的问题及相关解决方法
- 菜鸟必看--关于JDK怎样在有还原软件的机器上配置及无法使用的问题
- 关于多线程使用的问题
- VS.NET里关于不能够使用向导的问题
- VC中一个关于宏的使用问题,字符串之间转换,宽字符与普通字符
- 详细描述关于aps.net 下使用水晶报表的问题!(一)
- 关于 python 中使用 lambda 表达式的问题
- 关于GetRecordCount函数的使用问题