单例模式(类只能有一个实例)连接数据库:
单例模式三大原则:
1.构造函数需要声明成非Public的
2.拥有一个保存类的实例的静态成员变量。
static private $_instance;
单例模式三大原则:
1.构造函数需要声明成非Public的
2.拥有一个保存类的实例的静态成员变量。
static private $_instance;
3.拥有一个访问这个实例的公共的静态方法
<?php
class Db{
static private $_instance;
static private $_connectSource;
private $dbConfig=array(
'host'=>'127.0.0.1',
'user'=>'root',
'password'=>'',
'database'=>'value'
);
private function _construct(){
}
static public function getInstance(){
//如果没有实例,则创建, 返回以创建的实例
if(!(self::$_instance instanceof self)){
self::$_instance =new self();
}
return self::$_instance;
}
public function connect(){
if(!self::$_connectSource){
self::$_connectSource=mysql_connect(SAE_MYSQL_HOST_M.':'.SAE_MYSQL_PORT,SAE_MYSQL_USER,SAE_MYSQL_PASS);
if(!self::$_connectSource){
die('mysql connect error'.mysql_error);
}
mysql_select_db(SAE_MYSQL_DB,self::$_connectSource);
mysql_query("set names UTF8",self::$_connectSource);
}
return self::$_connectSource;
}
}
$connect=Db::getInstance()->connect();
var_dump($connect);