加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

什么是PHP中的单例?

发布时间:2020-12-13 22:20:12 所属栏目:PHP教程 来源:网络整理
导读:对许多人来说,这个问题可能真是个愚蠢的问题.但是,我无法找到它的确切答案. 什么是PHP中的单例类? 我经历了很多教程,仍然不明白它的确切含义. 我的理解是,它不能被多次实例化.该对象将被共享. 那个的真实意义是什么?假设单例是为数据库连接实现的,这是否意
对许多人来说,这个问题可能真是个愚蠢的问题.但是,我无法找到它的确切答案.

什么是PHP中的单例类?

我经历了很多教程,仍然不明白它的确切含义.
我的理解是,它不能被多次实例化.该对象将被共享.
那个的真实意义是什么?假设单例是为数据库连接实现的,这是否意味着,如果’A’访问该站点并登录.同时说’B’尝试登录,B将无法登录,直到A注销并释放该对象?

解决方法

单例是一种特殊的类,正如您所说,只能实例化一次.

第一点:它不是PHP相关概念,而是OOP概念.

什么“只实例化一次意味着什么?”它只是意味着如果该类的对象已经实例化,系统将返回它而不是创建新的对象.
为什么?因为,有时候,你需要一个“通用”实例(全局实例),或者因为实例化已存在对象的“副本”是无用的.

让我们首先考虑一个框架:在引导操作上,您需要实例化一个对象,但您可以(您必须)与其他请求框架引导程序共享它.

对于第二种情况,让我们考虑一个只有方法而没有成员的类(所以基本上没有内部状态).也许您可以将它实现为静态类,但如果您想要遵循设计模式,请考虑使用AbstractFactory),您应该使用对象.因此,拥有只有方法的同一对象的一些副本是不必要的,也是内存浪费.

这是我使用单身人士的两个主要原因.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读