单例模式:
一个类在整个应用中,只有一个对象实例的设计模式
类必须自行创建这个实例
必须自行向整个系统提供这个实例
三私:私有静态成员变量、构造函数、克隆函数
一公:公共的静态方法
<?php
//单例模式
class db{
static private $_instance;
static private $_connectSource;
private $_dbConfig=array(
'host'=>'127.0.0.1',
'user'=>'root',
'password'=>'root',
'database'=>'lol',
);
private function __construct()
{
}
static public function getInstance(){
if(!(self::$_instance instanceof self)){
self::$_instance= new self();
}
return self::$_instance;
}
//php连接数据库
public function connect(){
if(!self::$_connectSource){
self::$_connectSource=mysql_connect($this->_dbConfig['host'],$this->_dbConfig['user'],$this->_dbConfig['password']);
if(!self::$_connectSource){
//连接失败返回错误信息
die('mysql connect error'.mysql_error);
}
//选择一个数据库
mysql_select_db($this->_dbConfig['database'],self::$_connectSource);
//设置字符集
mysql_query("set names UTF8",self::$_connectSource);
}
return self::$_connectSource;
}
}
//单例必须实例化它入口
$connect=Db::getInstance()->connect();
$sql="select * from car";
$result=mysql_query($sql,$connect);
//结果集行数
$arr=mysql_num_rows($result);
echo $arr;
//var_dump($connect);
//返回资源resource(3) of type (mysql link)