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 #############
构造方法和析构方法执行了一次, 说明只生成了一个对象