PHP mysql单例模式 1.私有化构造函数,不允许外部类实例化 2.提供一个外部可获取的数据库链接的function(getInstance) 3.变量使用静态变量,赋值给实例化的对象和数据源 4.使用的内部静态变量时,要使用self关键字 <?php class Db{ static private $_instance; private $_dbConfig = array( 'host'=>'localhost', 'user'=>'root', 'password'=>'', 'database'=>'test' ); static private $_connectSource; private function __construct(){ //私有化构造函数,使其只能在内部被初始化 } //获取数据库对象的出口 static public function getInstance(){ if(!(self::$_instance instanceof self)){ self::$_instance = new self(); } return self::$_instance; } /* *连接数据库,获取MySQl的数据源 */ 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 name UTF8',self::$_connectSource); } return self::$_connectSource; } } //示例 $db = Db::getInstance()->connect(); $sql = "select * from xxx"; $result = mysql_query($sql,$db); $num = mysql_num_rows($result);