PHP单示例模式详细解决方案和实例代码

PHP单示例模式详细解决方案和实例代码
PHP单示例模式详细解决方案

单例模型的概念

单例模式是整个应用程序的一个类的对象实例的设计模式。具体而言,作为一种创建对象,单例模式确保一个类只有一个实例,它实例化本身和整个系统提供实例,而不是创建一个实例的副本,它返回一个引用实例存储在单独的类。

单例模型的特点

单一案例模型的主要特点是三个私有模型:
需要保存类的唯一实例的私有静态成员变量
构造函数必须声明为私有,防止对象从外部程序新建,并失去单个案例的意义。
克隆函数必须声明为私有,以防止克隆对象被克隆。
一个公共静态方法(通常称为getInstance)必须提供访问此实例,它返回一个引用一个实例。

使用单一模式的原因和场景

在大多数应用中,PHP会有一个数据库的操作,没有一个单例模式,每个新的操作,但每一次新的消耗系统资源和大量的内存资源,每次打开和关闭数据库是数据库的一个很大的考验和浪费。所以单件模式是常用的数据库操作类。
同样,如果一个类需要有一个类来控制全局的一些配置信息,那么可以简单地实现单个示例模式。

PHP单示例模式实现

下面是一个用PHP模式实现数据库操作类的框架
< PHP
类DB {
const db_host = 'localhost;
const db_name =;
const db_user =;
const db_pwd =;
私人_db美元;
私有静态变量实例保存
私有静态_instance美元;
克隆和构造函数函数被声明为私有。
私有函数__construct(){
/ /美元-> _db = mysql_connect();
}
私有函数__clone(){
实现
}
公共静态方法实例
公共静态函数getInstance(){
如果(!(自::_instance美元是自)){
自::_instance美元=新的自我();
}

If (self:: $_instance===null) {
自::_instance美元=新的DB();
}
回归自我::_instance美元;
}
公共功能fetchall(){
实现
}
公共功能fetchrow(){
实现
}
}
例如,外部的引用类
$ db =分贝::getInstance();
>

谢谢你的阅读。我希望你能帮助你,谢谢你对这个站的支持
免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部