PHP-单例模式
要实现单利模式至少要满足以下条件:
1.必须拥有一个构造函数, 并且必须被标记为private
2.必须拥有一个静态变量保存类的实例
3.必须拥有一个返回这个实例的公共的静态方法
4.必须把__clone();魔术方法实现为空, 以防止对象被复制
来个实例演示:
1 class Db { 2 private $_db; 3 public static $_instance; 4 5 private function __construct() { 6 $this->_db = mysql_connect('localhost', 'user', 'pass'); 7 } 8 9 private function __clone() {} 10 11 public static function getInstance() { 12 if (!(self::$_instance instanceof self)) { 13 self::$_instance = new self(); 14 } 15 return self::$_instance; 16 } 17 18 public function query($sql) { 19 return mysql_query($sql, $this->_db); 20 } 21 }