首页 | 新闻 | 交流 | 问吧 | 文档 | 手册 | 下载 | 博客

收藏此问题 发表新评论

单例模式的疑问

网上资料单例模式的好处:
1、php的应用主要在于数据库应用, 所以一个应用中会存在大量的数据库操作, 使用单例模式, 则可以避免大量的new 操作消耗的资源。(php页面级的 用不用这个模式无所谓吧 比如数据库操作类 new db(); 一次就够用了

2、如果系统中需要有一个类来全局控制某些配置信息, 那么使用单例模式可以很方便的实现. 这个可以参看ZF的FrontController部分。(这个构造函数不解决了吗?

3、在一次页面请求中, 便于进行调试, 因为所有的代码(例如数据库操作类db)都集中在一个类中, 我们可以在类中设置钩子, 输出日志,从而避免到处var_dump, echo。(这个好像也能在普通类中实现

求开导~
昵称: 黄瓜味薯片  时间: 2013-05-24 15:39:41
同问,顶起来~~期待解疑~~
昵称: 【纵我不往】  时间: 2013-05-25 21:55:40
其实PHP的单例并不是很符合单例的初衷,这个是因为PHP语言的特性决定的。

首先是第一个问题,如果小的项目确实可以这么做,但是如果项目比较大,需要将DB封装起来的然后在别的地方调用呢?至于第二个,如果你链接的不止是一个数据库用构造方便还是使用配置文件方便呢?

其实在框架中,都会把DB的操作封装为一个静态的方法来在所有的地方调用,从而让代码得到复用
昵称: ruckfull  时间: 2013-05-27 13:24:36
单例模式的功能可以理解为另外一种对global 的实现方式
昵称: asmodai  时间: 2013-05-27 13:43:05