某些应用程序资源是独占的,因为有且只有一个此类型的资源。例如,通过数据库句柄到数据库的连接是独占的。您希望在应用程序中共享数据库句柄,因为在保持连接打开或关闭时,它是一种开销,在获取单个页面的过程中更是如此。
单例模式可以满足此要求。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
<em deep=
"8"
><?php
class
Mysql{
//定义一个私有的静态变量,用来存放对象实例
private
static
$instance
= null;
private
$conn
;
//设置构造方法为私有,不允许通过new获得对象
private
function
__construct(){
$conn
= mysql_connect(
'localhost'
,
'root'
,
'123456'
);
}
//获取实例方法
public
static
function
getInstance(){
if
(! self::
$instance
instanceof
self){
self::
$instance
=
new
self;
}
return
self::
$instance
;
}
//禁止克隆
private
function
__clone(){}
}
$db
= Mysql::getInstance();</em>
|
这样每个数据库连接,都是用的一个对象实例。
本文转自shayang8851CTO博客,原文链接:http://blog.51cto.com/janephp/1342460,如需转载请自行联系原作者