php __autoload函数 加载类文件
2014-03-19 21:03
155 查看
面向对象的开发时,大家肯定都会遇到这样的问题,就是加载文件,一般都是加文件的头部inclue_once,require一大堆,看着很让人烦。当然你可以自己写程序来加载。php5以后引入了__autoload这个函数,可以帮我们解决这个问题。
有人说__autoload会影响性能,用这个函数的确会影响性能,但是并不像有些人说的那样,影响的很厉害。include,require重复加载也会影响性能。现在很多框架也用__autoload,例如:thinkphp,yii都用了这个函数。用include等产生的人力成本与用__autoload产生的性能成本,我宁愿选择第一个。
建二个文件,test.php,test1.php,这二个文件在同一目录下
查看复制打印?
//以下是test.php内容
<?php
class test {
public function show(){
echo "test";
}
}
?>
---------------------------上下是二个文件----------------------------------
//以下是test1.php的内容
<?php
function __autoload($class_name) {
require_once $class_name . '.php';
}
$test = new test();
$test->show(); //显示是test
?>
在这里如果不用__autoload这个函数的话,就必须加载这个文件,include test.php要把这句加到头部。
__autoload 函数,它会在试图使用尚未被定义的类时自动调用。通过调用此函数,脚本引擎在 PHP 出错失败前有了最后一个机会加载所需的类。
有人说__autoload会影响性能,用这个函数的确会影响性能,但是并不像有些人说的那样,影响的很厉害。include,require重复加载也会影响性能。现在很多框架也用__autoload,例如:thinkphp,yii都用了这个函数。用include等产生的人力成本与用__autoload产生的性能成本,我宁愿选择第一个。
建二个文件,test.php,test1.php,这二个文件在同一目录下
查看复制打印?
//以下是test.php内容
<?php
class test {
public function show(){
echo "test";
}
}
?>
---------------------------上下是二个文件----------------------------------
//以下是test1.php的内容
<?php
function __autoload($class_name) {
require_once $class_name . '.php';
}
$test = new test();
$test->show(); //显示是test
?>
在这里如果不用__autoload这个函数的话,就必须加载这个文件,include test.php要把这句加到头部。
__autoload 函数,它会在试图使用尚未被定义的类时自动调用。通过调用此函数,脚本引擎在 PHP 出错失败前有了最后一个机会加载所需的类。
相关文章推荐
- php __autoload函数 加载类文件
- PHP自动加载类文件
- PHP动态地创建属性和方法, 对象的复制, 对象的比较,加载指定的文件,自动加载类文件,命名空间
- PHP动态地创建属性和方法, 对象的复制, 对象的比较,加载指定的文件,自动加载类文件,命名空间
- PHP中的use、命名空间、引入类文件、自动加载类的理解
- PHP __autoload函数(自动载入类文件)的使用方法
- PHP __autoload函数(自动载入类文件)的使用方法
- PHP中的use、命名空间、引入类文件、自动加载类的理解
- php中 __autoload函数 自动加载类文件机制
- PHP __autoload函数(自动载入类文件)的使用方法
- 速战速决 (5) - PHP: 动态地创建属性和方法, 对象的复制, 对象的比较, 加载指定的文件, 自动加载类文件, 命名空间
- PHP 类文件的自动加载机制 __autoload()
- PHP中的use、命名空间、引入类文件、自动加载类的理解
- PHP 中加载类文件的几种方法
- php spl_autoload_register类库自动加载,省去引入类文件
- PHP的类文件自动加载机制
- PHP面向对象自动加载类文件
- PHP框架自动加载类文件原理详解
- php的_autoload函数实现自动加载类的使用