2006-08-30

创建可重用、可扩展和可伸缩的 PHP 代码

来源: CSDN 作者:佚名 评论 0 条
 

Dictionary 和 DictionaryIO 类

正如所显示的,没有什么阻止编码器将完全随机的对象传递给 addDictionaryIO()。只有在运行 export() 时,才会获得一个类似的错误,并发现已经存储在 $dictio 中的对象实际上并没有 export() 方法。使用 PHP V4 时,必须测试本例中的参数类型,以绝对确保编码器传递类型正确的对象。使用 PHP V5 时,可以部署参数提示来强制对象类型。只将所需的对象类型添加到方法声明的参数变量中,如清单 2 所示:


清单 2. 将对象类型添加到方法声明的参数变量中




    function addDictionaryIO( DictionaryIO $dictio ) {

        $this->dictio=$dictio;

    }



    function export() {

        if ( $this->dictio ) {

            $this->dictio->export( $this );

        }

    }


现在,假如客户机编码器试图将类型错误的对象传递给 addDictionaryIO(),PHP 引擎将抛出一个致命错误。因此,类型提示使得代码更安全。不幸的是,提示仅对对象有效,所以不能在参数列表中要求字符串或整数。必须手动测试这些原类型。

即使可以保证 addDictionaryIO() 将获得正确的对象类型,但不能保证该方法被首先调用。export() 方法测试 export() 方法中 $dictio 属性的存在,从而避免错误。但您可能希望更严格一些,要求 DictionaryIO 对象传递给构造函数,从而确保 $dictio 总是被填充。







调用覆盖方法

在清单 3 中,XmlDictionaryIO 集成 DictionaryIO。而 DictionaryIO 写入并读取序列化数据,XmlDictionaryIO 操作 XML,可以与第三方应用程序共享。XmlDictionaryIO
共7页: 上一页 1 [2] [3] [4] [5] [6] [7] 下一页

(本文仅表明作者个人观点,不代表本站及其管理员立场.) 推荐 收藏 投稿 打印 返回 关闭
上一篇:让php5在win2003 X64 下运行的方法  
下一篇:SQL查询语句精华使用简要
    评论加载中…
 推荐文章
     

网站首页  -  网站地图 -   站长论坛  -  网站投稿  -    -  网站管理
Copyright © 2008 芜湖站长站 All Rights Reserved 皖ICP备07500611号