单例模式

 * 单例模式
 * 1.禁止实例化
 * 2.设置静态
 * 3.设置静态方法
class Database{
    private $_db;
    static $_instance;
    //防止类被当作实例使用
    private function __construct()
    {
        $this->_db = pg_connect('dbname=example_db');
    }
    private function __clone()
    {
         // TODO: Implement __clone() method.
    }
	public static function close()
	{
		self::$_instance = null;
	}
    //实例化
    public static function getInstance()
    {
        if(!(self::$_instance instanceof self)){
            self::$_instance = new self();
        }
		return self::$_instance;
    }
    public function query($sql)
    {
        //使用$this->_db执行一个查询
        return pg_query($this->_db,$sql);
    }
}
$db = Database::getInstance();
$db->query('select * from my_table');

  

posted @ 2021-04-29 10:25  暖冰凉  阅读(48)  评论(0)    收藏  举报