1. 程式人生 > >用CI框架寫了簡單的pdo單例類

用CI框架寫了簡單的pdo單例類

class db{    
    private static $instance;   //私有的靜態變數
    private $pdo = '';
    //私有的建構函式
    //$db_type 資料庫型別   $host 主機ip   $dbname  資料庫名
    //$root 使用者名稱  $pwd 使用者名稱密碼
    private function __construct($db_type,$host,$dbname,$root,$pwd) {
        $dsn = "$db_type:host=$host;dbname=$dbname";
        $this -> pdo = new PDO($dsn,$root,$pwd);
        $this -> pdo -> exec("set names utf8");
    }
    //私有的克隆方法
    private function __clone() {}
    //公有的靜態方法
    public static function getInstance($db_type,$host,$dbname,$root,$pwd){
        if(!(self::$instance instanceof self)){
            self::$instance = new db($db_type,$host,$dbname,$root,$pwd);
        }
        return self::$instance;
    }
}

類外呼叫

$pdo = db::getInstance('mysql','localhost',‘dbname’,'root','root');