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 }

 

你可能感兴趣的:(单例模式)