php自动加载的两个函数__autoload和__sql_autoload_register
2016-07-11 18:04
746 查看
一、__autoload
这是一个自动加载函数,在PHP5中,当我们实例化一个未定义的类时,就会触发此函数。看下面例子:
二、spl_autoload_register()
1、它告诉PHP碰到没有定义的类就执行指定的类;
2、spl_autoload_register() 调用静态方法
这是一个自动加载函数,在PHP5中,当我们实例化一个未定义的类时,就会触发此函数。看下面例子:
printit.class.php //文件 <?php class PRINTIT { function doPrint() { echo 'hello world'; } } ?> index.php //文件 <?php function __autoload( $class ) { $file = $class . '.class.php'; if ( is_file($file) ) { require_once($file); } } $obj = new PRINTIT(); $obj->doPrint(); ?>
二、spl_autoload_register()
1、它告诉PHP碰到没有定义的类就执行指定的类;
<?php function loadprint( $class ) { $file = $class . '.class.php'; if (is_file($file)) { require_once($file); } } spl_autoload_register( 'loadprint' ); $obj = new PRINTIT(); $obj->doPrint(); ?>
2、spl_autoload_register() 调用静态方法
<?php class test { public static function loadprint( $class ) { $file = $class . '.class.php'; if (is_file($file)) { require_once($file); } } } spl_autoload_register( array('test','loadprint') ); //另一种写法:spl_autoload_register( "test::loadprint" ); $obj = new PRINTIT(); $obj->doPrint(); ?>
相关文章推荐
- php保存execl
- PHP生成静态原理
- php curl post请求超过1024字节解决方法
- 11.ThinkPHP 3.1.2 连贯操作
- 11.ThinkPHP 3.1.2 连贯操作
- 11.ThinkPHP 3.1.2 连贯操作
- PHP 初探
- OLAP、OLTP的介绍和比较
- php特性介绍(贼有用)
- Yii2之activeform部分随笔
- php引擎优化
- PHP学习 Class one
- php语言
- php.ini参数调优
- php页面静态化 获取页面缓存生成HTML页面
- php的ticks
- PHP自定义函数获取搜索引擎来源关键字的方法
- PHP的htmlspecialchars、strip_tags、addslashes解释
- iis搭建FTP服务器
- 整数反转算法(php实现)