教学之友,学习之友。

站长教学网

当前位置: 站长教学网 > 网站编程 > PHP教程 >

PHP中的autoload魔术方法实现类的自动加载

时间:2013-05-07 22:47来源:未知 作者:ken 点击:

  将一个独立的、完整的类保存到一个PHP页中,并且文件名和类名保持一致,这时每一个开发人员都需要养成的良好习惯。当引用多个类时使用include_once()和require_once()函数将类一个个的引入很不方便。

    在PHP5中应用__autoload()方法解决了这个问题。__autoload()方法可以自动实例化需要使用的类。当程序要用一个类,但该类还没 有被实例化时,PHP5将使用__autoload()方法在指定路径下自动查找和该类名称相同的文件。如果找到则继续执行,否则报错。

例:

类文件为Mrsoft.class.php,代码如下:

<?php
class MrSoft{                                //创建类
    private $cont;                            //声明变量
    public function __construct($cont){        //构造方法
        $this -> cont = $cont;                //为成员变量赋值
    }
    public function __toString(){            //输出字符串
        return $this -> cont;
    }
}
?>

如果在index.php中调用类Mrsoft,index.php代码如下: eduyo.com

<?php
    function __autoload($class_name){            //创建__autoload()方法
        $class_path = $class_name.'.class.php';//类文件路径
        if(file_exists($class_path)){    //判断类文件是否存在
            include_once($class_path);//动态包含类文件
        }else
            echo '类路径错误。';
    }
    $mrsoft = new MrSoft("执子之手,与子偕老");//实例化对象
    echo $mrsoft;//输出类内容
?>

 

(责任编辑:ken)
TAG标签: php 用魔术方法 autoload
顶一下
(2)
66.7%
踩一下
(1)
33.3%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
注册登录:不允许匿名留言,登录后留言无需输入验证码。
栏目列表
最新内容