有关 php __autoload 自动加载类函数的用法
来源:互联网 发布:caffe 前向计算 编辑:程序博客网 时间:2024/05/16 14:04
这个函数是一个自动加载类函数,啥事自动加载函数,顾名思义 ,那就是自己就会加载类的函数(原谅我废话了)
我们先看下面的代码:
<?phpfunction __autoload($classname) { echo "helloworld";} $obj = new Test1();
以上代码我们定义了一个自动加在类函数 __autoload,传入参数是$classname,记住,这里需传参,手册里面的函数说明如下:
void __autoload ( string $class )
我们需在此传入参数。我们的自动加载类函数里面输出了hellworld,这个应该是没有问题的。
我们接着看我们的代码 $obj = new Test1(); 在这里,我们并没有写上类Test1,那么我们执行以下代码看看:
以上是运行结果,发现自动输出了hellworld,在这里只有__autoload 代码有输出了hellworld。说明我们的antoload在未调用的情况下调用了。
在这里,我要说明以下,我们antoload函数会在我们在加载未定义的类的时候触发,而我们并没有定义Test1这个类,所以在此触发了。唔这样说应该明白了 =。=。。。
现在我们来尝试修改成以下修改这个代码:
<?phpfunction __autoload($classname) { $classfile = $classname . '.php'; if ( is_file($classfile) ) { require_once($classfile); }} $obj = new Test1();$obj->TestFunction();
我在函数里面接收了 classname ,并且给了后缀名,然后用if判断文件是否存在,如果存在那么就调用TestFunction。
那么在此我们还需要在当前目录下新建一个这个类文件,文件名当然是和 classname 一样的,这个 classname 就是我们的Test1,在这里我们new Test1所以我们传入autoload的参数就是Test1,所以我们在这里新建一个Test的php文件,里面代码如下:
<?phpclass Test1 { function TestFunction() { echo 'hello world'; }}
然后我们在此运行:
0 0
- 有关 php __autoload 自动加载类函数的用法
- php自动加载类 __autoload()函数
- php自动加载类 __autoload()函数
- PHP使用__autoload()函数自动加载未定义的类
- PHP类的自动加载__autoload && spl_autoload_register
- __autoload()函数自动加载类
- __autoload()函数自动加载类
- 关于PHP中的自动加载函数 __autoload
- PHP __autoload()函数(类文件自动加载规则)的使用方法
- PHP中用魔术方法__autoload()实现类的自动加载
- php类文件的自动加载机制__autoload,spl
- PHP自动加载__autoload的工作机制
- php自动加载__autoload的工作机制
- php __autoload() 方法用于自动加载类
- PHP __autoload函数(自动载入类文件)的使用方法
- PHP __autoload函数(自动载入类文件)的使用方法
- php __autoload函数 加载类文件
- [PHP]Smarty模板造成的自动加载函数__autoload失灵问题
- CakePHP系列(二)----博客(Blog)案例(二)
- 数据结构之线性表
- java源码分析:重入锁ReentrantLock
- MFC中将图片显示到picture控件上
- 赵家新村水阁台面将维缮
- 有关 php __autoload 自动加载类函数的用法
- 操作系统常见面试题整理(一)
- C++知识点7
- 看商品猜价格
- 数据库面试题1
- [操作系统概念]第六部分——内存管理(2):分页分段
- Mysql连接 8小时问题
- <bits/stdc++.h>内容
- 《python数据分析与挖掘实战》笔记-3.1代码问题