【发布时间】:2011-11-24 01:42:52
【问题描述】:
我正在使用 zend 框架。目前每次我需要使用数据库时,我都会继续连接到数据库:
function connect()
{
$connParams = array(
"host" => $host,
"port" => $port,
"username" => $username,
"password" => $password,
"dbname" => $dbname
);
$db = new Zend_Db_Adapter_Pdo_Mysql($connParams);
return $db
}
所以每次我需要使用 db 时我都会调用 connect() 函数
我的问题是......假设我想在我的站点中的任何地方重用 $db 并且只在站点加载的初始阶段连接一次,然后在站点发送给用户之前关闭连接,会怎样是实现这一目标的最佳实践吗?
我应该在 Zend 中的哪个文件中保存 $db,我应该使用什么方法来保存它(全局变量?),以及我应该在哪个文件中关闭连接?
【问题讨论】:
-
如果您的应用程序使用默认的 ZF 结构,那么@erickthered 的答案是正确的。如果您仅在非 ZF 项目中使用
Zend_Db,请参阅:stackoverflow.com/questions/4840941/… -
@DavidWeinraub 我完全同意。我基本上是在尝试模仿他似乎想要的风格。我个人实际上并没有使用我在回答中描述的方法,但它适用于那些打算在他们的项目中仅使用
Zend_Db的人,而独立于框架的其余部分。您在链接的答案中描述的方式是,如果我不使用 erickthered 的方法(这是我实际使用的),我可能会怎么做。
标签: php mysql database zend-framework