Home > php教程 > PHP源码 > body text

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

WBOY
Release: 2016-06-08 17:25:46
Original
1022 people have browsed it
<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 末页
Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Recommendations
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!