PHP单例数据库类,我需要新手

时间:2014-02-21 02:55:12

标签: php pdo singleton

假设我有一个单独的PDO数据库连接类

<?php
class DbConn{
  private $host = 'localhost';
  private $db_name = 'some_db';
  private $user = 'user';
  private $pass = 'pass';
  private $db;
  private static $instance = NULL;

 private function __construct(){
  try{
      $this->db = new PDO("mysql:host=$this->host;dbname=$this->db_name","$this->user","$this->pass");
      $this->db->setAttribute(PDO::ATTR_ERRMODE , PDO::ERRMODE_EXCEPTION);
  }
  catch(PDOException $e){
     echo $e->getMessage();
  }
 }

 public static function getInstance(){
   if(!self::$instance instanceof self){
      self::$instance = self;
   }
   return self::$instance;
 }

 private function __clone(){}

 function __destruct(){
    unset($this->db);
 }
}

我还想创建QueryHouse类,它只处理查询和 准备好的语句,因此QueryHouse将提供DBconn-&gt; db对象。 这是不好的做法吗?因为我需要创建某种本地镜像DbConn方法并从QueryHouse访问db查询方法。

是否有意义,或者我应该只在DbConn类中执行查询? 谢谢你的每一个建议。

0 个答案:

没有答案