PHP单例数据库类,我需要avice
假设我有一个单例PDO db连接类PHP单例数据库类,我需要avice,php,pdo,singleton,Php,Pdo,Singleton,假设我有一个单例PDO db连接类 <?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{
<?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类呢?基本上我想把它和DbConn类分开。我打破了OOP的概念,因为查询属于数据库操作,它们需要在db类中。感谢大家的解释,它回答了我的问题。