PHP V5迁移指南
要利用的下一个重要特性是支持通过接口、抽象类和方法进行契约编程。清单 6 显示了一个版本的 Configuration 类,在该类中 PHP V4 编码人员尝试了构建基本接口而根本不使用 interface 关键字。
清单 6. interface.php4 凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn
为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved 地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008 电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134 《中华人民共和国增值电信业务经营许可证》闽B2-20100024 ICP备案:闽ICP备05037997号
清单开始于一个小型 IConfiguration 类,该类定义所有 Configuration 类或派生类所提供的接口。此接口将在类与其所有使用者之间定义契约。契约声明了实现 IConfiguration 的所有类必须配有 get() 方法并且 IConfiguration 的所有使用者都必须坚持仅使用 get() 方法。 下面的这段代码是在 PHP V5 中运行的,但最好使用提供的接口系统,如下所示。 清单 7. interface1.php5
一方面,读者可以更清楚地了解运行状况;另一方面,单个类可以实现多个接口。清单 8 显示了如何扩展 Configuration 类来实现 Iterator 接口,对于 PHP 来说,该接口是内部接口。 清单 8. interface2.php5 凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn
为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved 地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008 电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134 《中华人民共和国增值电信业务经营许可证》闽B2-20100024 ICP备案:闽ICP备05037997号
Iterator 接口使所有类都可以看似是其使用者的阵列。正如您在脚本末尾看到的那样,您可以使用 foreach 运算符重申 Configuration 对象中的所有配置项。PHP V4 没有这种功能,但您可以在应用程序中通过各种方式使用此功能。 接口机制的优点是可以将契约快速集中在一起而无须实现任何方法。最后阶段是实现接口,您必须实现所有指定的方法。PHP V5 中另一个有帮助的新功能是 抽象类,使用抽象类可以轻松地用一个基类实现接口的核心部分,然后用该接口创建实体类。 抽象类的另一个用途是为多个派生类创建一个基类,在这些派生类中,基类决不会被实例化。例如,当 DBConfiguration 和 Configuration 同时存在时,则只能使用 DBConfiguration。Configuration 类只是一个基类 —— 一个抽象类。因此,您可以 |
||||||||||
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |