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();
>
谢谢你的阅读。我希望你能帮助你,谢谢你对这个站的
支持。