Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Database Zend“;析构函数;?_Database_Zend Framework_Zend Db_Disconnect - Fatal编程技术网

Database Zend“;析构函数;?

Database Zend“;析构函数;?,database,zend-framework,zend-db,disconnect,Database,Zend Framework,Zend Db,Disconnect,我们使用Zend framework for MVC和Pear访问数据库。我想知道是否应该在每次请求完成时关闭与数据库的连接?如果是这样的话,有没有一种方法可以优雅地做到这一点 我们有大约50个操作分布在多个控制器上,我不想在每个控制器的末尾放置db->disconnect()。是否有一种方法,我可以把这个断开命令放在一个位置,一个“析构函数”,如果你愿意,ZEnter自动调用每当一个请求完成。 < P>此刻我可以想到两种可能性,你可以考虑。 首先,您可以将“析构函数”放入控制器中,例如disp

我们使用Zend framework for MVC和Pear访问数据库。我想知道是否应该在每次请求完成时关闭与数据库的连接?如果是这样的话,有没有一种方法可以优雅地做到这一点


我们有大约50个操作分布在多个控制器上,我不想在每个控制器的末尾放置db->disconnect()。是否有一种方法,我可以把这个断开命令放在一个位置,一个“析构函数”,如果你愿意,ZEnter自动调用每当一个请求完成。

< P>此刻我可以想到两种可能性,你可以考虑。 首先,您可以将“析构函数”放入控制器中,例如dispatchLoopShutdown钩子


第二,如果您真的希望在请求的最后执行某些操作,可以将“析构函数”放在
$application->bootstrap()->run()之后在index.php中

只有100%防弹解决方案使用了
寄存器\u关闭\u函数()
。即使请求被重定向(
$this->\u helper->redirector->gotoUrlAndExit()
)或脚本被终止(使用
die()
exit()
),也会调用它。插件和索引的最后一行都可能在重定向或终止脚本时失败

我建议你少用这个。根据在应用程序上花费的平均用户时间(请求数)和站点上的用户数,在此基础上做出选择。根据服务或控制器中的数量和使用情况以及非持久连接的使用情况下注。