php设计模式介绍之策略模式
ction VarCache($name) { /* ... */ } function isValid() { /* ... */ } function get() { if ($this->isValid()) { return file_get_contents($this- >_name.’.php’); } } function set($value) { $file_handle = fopen($this->_name.’.php’, ‘w’); fwrite ($file_handle,$value); fclose($file_handle); } } 128 The Strategy Pattern 通过黑体字部分的代码,VarCache::set() 方式函数把参数$value的内容写到 文件中,并用VarCache::get() 方式函数通过file_get_content() 从文件中把内容读取出来. 从 目前的执行情况来看,对于字符串和数字的操作是没有问题的,但是对于更复杂的参数比如数组和对象 ,执行起来就会出现问题了。我们用下面的代码进行处理:
由于篇幅的关系,我们直接调到这个执行过程的结束部分,它随后 也将实现策略式的判断。 这里就是增加一系列操作用来完善VarCache的地方。
在这里关键性的改变是get() 方式函数( 并且让PHP去验证有效性。 同时,get()返回参数$cached_content的值,所以无论set() 如果操作 ,它必须设置这个变量! 因此,对于数字来说,执行出来是什么样的结果呢?
看起来对于一个数字,执行起 来是没有问题的,那么对于字符串如何呢?对于字符串,缓存文件的数据编写方式就必须用= ‘%s’;结尾而不是= %s;。所以在这里我们需要引入一个“type” 参数:它用 来指定缓存的数据类型是一个整型还是字符串。为了更容易地增加更多的数据类型,我们分别在set()和 _getTemplate()函数增加一个case 判断。 凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站: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号
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站: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号
|
||||||||||
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |