Chinaunix首页 | 论坛 | 博客
  • 博客访问: 480391
  • 博文数量: 95
  • 博客积分: 2117
  • 博客等级: 大尉
  • 技术积分: 2301
  • 用 户 组: 普通用户
  • 注册时间: 2008-06-16 21:10
个人简介

辽宁铁岭人,现居大连。1970年生。 先后供职于 中国国际海运网、大连学堂科技、大连华仁视线网络科技有限公司、大连中科海云科技有限公司,任职技术总监。 精通PHP、JAVA、Javascript、HTML、CSS等网络编程技术及Linux操作系统。 精通面向对象编程、设计模式、重构及互联网产品设计。

文章分类

全部博文(95)

文章存档

2013年(31)

2012年(2)

2011年(34)

2010年(25)

2008年(3)

分类: 系统运维

2010-12-24 10:29:16

某日,在使用ThinkPHP的网站中,用D函数实例化了某model,调用了该model的函数,此函数为递归函数,返回了一个内部变量的值,其值为多次递归产生的列表。
灵异现象出现了,结果中出现了一段本不应出现的列表值!
仔细查看代码,这些值是之前用D函数实例化此model,调用该函数的结果。
可是我并不是沿用了上一次实例化的实例,而是再次调用D进行实例化的呀?
查看D函数的源代码,居然是用static变量保存了每次实例化后的实例,并在下次实例化同一个model时,仅返回上次实例化的实例,简言之:单件。
再看M和A函数,如出一辙。
呜呼,且不论这样单件实例的优劣,至少也应该在文档中有说明吧。
阅读(2644) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~