• 专注于网站建设,网络推广,关键词优化,SEO优化,专业的网站建设开发团队!
首页 > IT技术 > PHP > 内容

php面向对象之__autoload()

2015-06-10 21:25:51   来源:叶景网络
    在php设计面向对象的程序开发时,通常为每个类的定义都单独建立一个PHP源文件。当你尝试使用一个未定义的类时,PHP会报告一个致命错误。
 
    在PHP5之前,很多设计者对每个类的定义建立一个 PHP 源文件,然后在每个脚本开头写一个长长的包含文件列表(每个类一个文件),这意味着如果你要在一个程序文件中实例化100个对象,那么你必须用include或者require包含100个类文件,或者把这100个类定义在同一个类文件中,这样处理的结果显得很烦琐而且容易出错。
    在 PHP 5 中,不再需要这样了。可以定义一个 __autoload() 函数,它会在试图使用尚未被定义的类时自动调用。通过调用此函数,脚本引擎在 PHP 出错失败前有了最后一个机会加载所需的类。
    在下例中将通过实例来说明 __autoload() 是如何使用的。
    首先定义一个类ClassA,文件名为ClassA.class.php
    class ClassA{
    public  function funa(){
    echo "classA  loaded successfully!<br>";
    }
    }
    然后在相同目录下再定义另一个类ClassB,文件名为ClassB.class.php,ClassB继承ClassA
    <?php
    class ClassB extends ClassA {
    public function funb(){
    echo "classB also loaded successfully!<br>";
    }
    }
    最后在与上面两个文件相同目录下再定义一个autoload.php(这个文件名随便取)
    <?php
    function __autoload($class_name) {
    require_once ("./".ucfirst($class_name).'.class.php');//ucfirst使类名首字母转换为大写
    }
    $obj = new ClassB();
    $obj->funa();
    $obj->funb();
    ?>
    运行autoload.php的程序,看结果:
    classA loaded successfully!
    classB also loaded successfully!
    从上面的实例我们看到了__autoload神奇的魔术效果(自动包含导入类文件)!当然上面只包含了两个类文件,如果要包含几百或上千个类文件,你才体会到__autoload的伟大之处。
叶景网络,网络推广,网站建设
特别推荐RECOMMEND
搜索引擎网站关键词seo优化的意义
视频推广怎么做
网站seo优化怎么做关键词排上首页?
SEO介绍什么叫搜索引擎网站关键词优化
seo优化怎样做提升关键词排名
热点图文Hot
PHP通过soap调用.net接口asmx文件 PHP通过soap调用.ne
PHP开发环境配置 PHP开发环境配置
wamp集成环境的虚拟域名配置方法 wamp集成环境的虚拟
wamp独立安装配置 wamp独立安装配置
关注排行RANKING
1

PHP通过soap调用.net接口asmx文件

PHP通过soap调用.net接口asmx文件 叶景网络(www cngxit com),致力于互联网品牌建设与网络营销,专业领域包括网...

2

PHP开发环境配置

PHP开发环境配置 下载PHP安装程序,并解压缩。(下载页面为http: www php net downloads php,下...

3

wamp集成环境的虚拟域名配置方法

wamp集成环境的虚拟域名配置方法 最近,发现身边很多人用wamp集成环境,这个虽然比较快捷,一步到位,但是只能访...

4

wamp独立安装配置

wamp独立安装配置 apache 中的 httpd conf LoadModule php5_module "D: lamp php5 php5apache2_2 dll " 加载模块并开启

5

php 获取今天明天昨天时间戳

php 获取今天明天昨天时间戳 叶景网络(www cngxit com),致力于互联网品牌建设与网络营销,专业领域包括网...

6

PHP获取服务器信息 MySql版本和浏览器信息

PHP获取服务器信息 MySql版本和浏览器信息 1、$_SESSION[ PHP_SELF ] -- 获取当前正在执行脚本的文件名 2...

7

smarty 截取字符串函数 truncate的用法

smarty 截取字符串函数 truncate的用法 smarty truncate 截取字符串,从字符串开始处截取某长度的字符,默认的长度为8...

8

php编程常用函数方法等

php编程常用函数方法等 叶景网络(www cngxit com),致力于互联网品牌建设与网络营销,专业领域包括网站...

9

如何让ThinkPHP的模板引擎达到最佳效率

如何让ThinkPHP的模板引擎达到最佳效率 默认情况下ThinkPHP框架系统默认使用的模板引擎是内置模板引擎。内置模板引擎支持模板文...