我有一個連接到數據庫的PDO
對象,我有5個類需要數據庫連接的方法。對於我正在構建$db
的每個班級。這是真的嗎?如果不是,我該怎麼辦?
try {
$config['db'] = array(
'host' => 'localhost',
'username' => 'xxxxxx',
'password' => 'xxxxxx',
'dbname' => 'table_name'
);
$db = new PDO('mysql:host=' . $config['db']['host'] . ';dbname=' . $config['db']['dbname'], $config['db']['username'], $config['db']['password'], array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"));
} catch (Exception $e) {
echo "!";
}
//classA
class ClassA{
private $db;
public function __construct(PDO $db){
$this->db = $db;
}
public function methodA1($someId){
$res = $this->db->query("SELECT * FROM bla WHERE id = $someId ");
return $res->fetchAll(PDO::FETCH_ASSOC);
}
}
//classB
class ClassB{
private $db;
public function __construct(PDO $db){
$this->db = $db;
}
public function methodB1($someId){
$res = $this->db->query("SELECT * FROM bla WHERE id = $someId ");
return $res->fetchAll(PDO::FETCH_ASSOC);
}
}
然後我箱子這些類的新對象,如
$classAObject = new ClassA($db);
$classBObject = new ClassB($db);
雖然我創造我的目標,我是否連接到DB 2倍?
你做了多少次'新的PDO(...)'這是你連接數據庫的次數。 – RiggsFolly