PHP 单态设计模式复习

单态设计模式,也可以叫做单例设计模式,

就是一个类只能让它生成一个对象,避免重复的NEW,影响运行效率(每NEW一个对象都会在内存中开辟一块空间)

示例代码

<?php
/*
*	单态设计模式
*/
class DB{
	//声明一个私有的静态属性
	private static $obj = null;
	//私有化构造方法,只能让他在内部声明
	private function __construct(){
		echo "连接数据库的过程<br>";
	}
	//通过此静态方法,才能生成本类的对象
	public static function set_obj(){
		if(is_null(self::$obj)){
			self::$obj = new self();
		}
		return self::$obj;
	}
	//执行的方法
	public function query(){
		echo "my query function <br>";
	}
	//析构方法
    public function __destruct(){
		echo "#############<br>";
	}
}
	$p = DB::set_obj();
	$p2 = DB::set_obj();
	$p3 = DB::set_obj();
	$p4 = DB::set_obj();
	$p5 = DB::set_obj();
	
	$p->query();
	$p2->query();
	$p3->query();
	$p4->query();
	$p5->query();
	
?>

 执行结果

连接数据库的过程
my query function
my query function
my query function
my query function
my query function
#############

 构造方法和析构方法执行了一次, 说明只生成了一个对象

 

posted @ 2015-05-29 18:25  笑笑别人  阅读(303)  评论(0编辑  收藏  举报