我正在努力与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