我正在努力與OOP握手一點。多個數據庫連接(不受歡迎的)
我用這__construct方法wthin我所有的類文件 這是運作正常,並如預期
private $conn; // database connection
// make database connection if not exist!
function __construct() {
// autoload class files
require_once('class/autoloader.php');
spl_autoload_register('myAutoloader');
// open db connection so it is available to all files
$db = new dbconn();
$this->conn = $db->get_connection();
}
但是,我有所有的參考海誓山盟多個類文件,這樣數據庫連接被加載到所有類文件這是否意味着我打開了太多的連接。 並且我是否需要關閉連接的每個實例? (如果是這樣,這很棘手,因爲我不知道可能已經啓動了哪些類文件)。
我將不勝感激任何意見!
將數據庫連接置於配置文件中。將所有腳本中必需的*任何*放在配置文件中。你這樣做的方式意味着如果密碼更改,你必須更新這些文件中的所有*。呸! – timgavin 2014-09-28 03:19:52
可能的解決方案是使用依賴注入:創建一個全局數據庫連接並將其作爲參數傳遞給構造函數。 – jeroen 2014-09-28 03:45:35
謝謝蒂姆。密碼在一個配置文件中。如果我將數據庫連接添加到配置文件中,除非我將它注入到所有需要它的函數中,否則它將不可用於我的類。 – Ford 2014-09-28 03:48:38