php单例模式
class databaseConnect
{
	private static $_instance=null;
	private static $_count;
//禁止析构函数重载
	private final function __construct()
	{
		//数据库连接代码
		self::$_count +=1; 
		echo'实例化了'.self::$_count.'次';
	}
	//禁止克隆
	//private function __clone(){}
	public function getInstance()
	{
		if(!(self::$_instance)){
			self::$_instance=new databaseConnect();
		}
		return self::$_instance;
	}
}
$conn = databaseConnect::getInstance();
$conn = databaseConnect::getInstance();
$conn = databaseConnect::getInstance();
不阻止克隆的话下面的子类可以无限的克隆实例
class aaa extends databaseConnect
{
	
	public function getInstance(){
		for($i=1;$i<=1000000;$i++){
			$a=clone databaseConnect::getInstance();
}
	}
}
aaa::getInstance();
 
                     
                    
                 
                    
                
 
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号