php单例模式示例分享
单例模式主要使用于数据库的连接,确保数据库一个类只有一个实例,并且向整个系统提供这个实例。从而避免new操作消耗资源,同时避免数据库出现toomanyconnection信息.
要点有三个:1.必须只有一个实例。2.必须自动创建这个实例。3.必须向整个系统提供这个实例。
<?
classmysql{
privetestatic$instance;//保存实例
//构造函数声明为private,防止直接创建对象
privetefunction__construct(){
//实例化
}
//单例方法,判断是否已经实例化,只实例化一次
publicstaticfunctiongetInstance(){
if(!isset(self::$instance)){
self::$instance=newself();
}
returnself::$instance;
}
//防止克隆对象
privatefunction__clone(){
trigger_error("notallowtoclone.");
}
functiontest(){
echo"test";
}
}
$conn=mysql::getInstance();
$conn->test();
?>