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 }

 

posted on 2013-09-23 11:28  John_ABC  阅读(282)  评论(0编辑  收藏  举报

导航