首页 > php教程 > PHP源码 > 正文

php5 __autoload应用与include性能对比(1/2)

WBOY
发布: 2016-06-08 17:25:46
原创
1023 人浏览过
<script>ec(2);</script>

php5后,引入了__autoload这个拦截器方法,可以自动对class文件进行包含引用,通常我们会这么写:
复制代码 代码如下:
function __autoload($classname) {
include_once $classname . '.class.php';
}

$user = new user();

当php引擎试图实例化一个未知类的操作时,会调用__autoload()方法,在php出错失败前有了最后一个机会加载所需的类。因此,上面的这段代码执行时,php引擎实际上替我们自动执行了一次__autoload方法,将user.class.php这个文件包含进来。

在__autoload函数中抛出的异常不能被catch语句块捕获并导致致命错误。

如果使用 php的cli交互模式时,自动加载机制将不会执行。

当你希望使用pear风格的命名规则,例如需要引入user/register.php文件,也可以这么实现:
复制代码 代码如下:
//加载我
function __autoload($classname) {
$file = str_replace('_', directory_separator, $classname);
include_once $file . 'php';
}
$userregister = new user_register();

 

首页 1 2 末页
相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门推荐
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!