返回数据库连接的单......登陆

数据库连接的单例模式案例

zxp2019-03-21 11:23:18258
<?php
class Db{
//数据库的配置信息
  private static $dbConnect;
  private $dbConfig = array(
    'host' => '127.0.0.1',
    'user' => 'root',
    'password' => 'root',
    'database' => 'php',
  );
//将构造方法私有化:禁止从外部实例化类
	private function __construct() {}

//将克隆方法私有化:禁止从外部克隆该类的实例
	private function __clone() {}
	
//创建内部属性$instance,用来保存当前类实例
	protected static $instance = null;
//创建外部接口,用来返回当前类的唯一实例
	public static function getInstance()
	{
		if (is_null(static::$instance)) {
			static::$instance = new static();
		}

		return static::$instance;
	}
	public function connect(){
            self::$dbConnect = mysql_connect($this->dbConfig['host'],
              $this->dbConfig['user'],$this->dbConfig['password']);
            //验证数据库连接
            if(!self::$dbConnect){
              throw new Exception("mysql connect error".mysql_error());
            }
            //设置字符集
            mysql_query("SET NAMES UTF8");
            //连接数据库
            mysql_SELECT_db($this->dbConfig['database'],self::$dbConnect);
            return self::$dbConnect;
      }
}
//从类的外部实例化当前类
$Db_connect= Db::getInstance();
?>


最新手记推荐

• 用composer安装thinkphp框架的步骤• 省市区接口说明• 用thinkphp,后台新增栏目• 管理员添加编辑删除• 管理员添加编辑删除

全部回复(0)我要回复

暂无评论~
  • 取消回复发送