1 <?php 2 //单例:一个类只有一个对象。 3 //限制该类得到更多的对象,只允许产生一个对象。,一个对象就可完成所有对象的功能,目的是为了节约成本。这就是单例模式 4 5 /* 6 function func(){ 7 static $name; //局部静态变量,根据函数生命周期来进行计算,下次调用会继续存在, 8 } 9 10 class test{ 11 static $name; //属于静态类属性。 12 } 13 14 */ 15 16 class MySQLDB{ 17 //声明一个静态变量存储对象 18 private static $_instance; 19 20 //声明构造为私有不让外界new对象 21 private function __construct(){ 22 23 } 24 25 //给定一个类方法不让让类外直接通过类名去访问 26 public static function getInstance(){ 27 28 //判断对象是否被实例化 29 if (!isset(static::$_instance)) { 30 //if(! (static::$_instance instanceof static)) //用 对象运输符号 instanceof做判断 31 //不存在对象,new一个对象并返回给私有静态变量 32 static::$_instance = new static; 33 } 34 35 //返回给静态变量存储 36 return static::$_instance; 37 } 38 39 //为了防止外界的克隆 把私有魔术方法 40 private function __clone(){ 41 42 } 43 } 44 45 46 $dao = MySQLDB::getInstance(); 47 48 var_dump($dao); 49 50 $dao1 = MySQLDB::getInstance(); 51 52 var_dump($dao1); 53 54 // $dao2 = clone $dao; //运行保存/**/
时间: 2024-11-05 19:28:17