前言:自己理解如有不对多多指教,保持文明交流
php八大设计模式之单例模式
单例模式可能是最有名的了,有名在于他使用的范围广而且相对来说好理解也简单很多,单例模式使用场景大部分都是连接数据库,只连接一次数据库,防止打开了多个数据库链接。
单例模式口诀:三私一共 一个声明私有的静态属性 一个声明私有的__construct 一个声明私有的__clone 一个声明公共的静态方法
插代码:
<?php
class connectSql{
private static $_instance;
private function __construct(){
//防止直接创建对象的
}
static public function getInstance(){
if(!self::$_instance){
self::$_instance=new self();
}
return self::$_instance;
}
private function __clone()
{
trigger_error('ERROR----' ,E_USER_ERROR);
}
function test()
{
//写相关业务
}
}
$test=connectSql::getInstance();
$test->test();
//如果你要克隆一个对象,将会报错
//$clone=clone $test; 将会导致E_USER_ERROR错误;