Php 如何使用zend框架只建立一次DB连接

Php 如何使用zend框架只建立一次DB连接,php,zend-framework,database-connection,zend-db-table,Php,Zend Framework,Database Connection,Zend Db Table,我是zend框架的新手。我正在使用Zend\u Db\u Table\u Abstract进行数据库操作。现在,我想知道Zend\u Db\u Table\u Abstract将为整个应用程序建立一个Db连接,或者它将为每个请求创建一个Db连接 这是我的类,它扩展了zend_db_table_abstract <?php class Model_AppsandBills extends Zend_Db_Table_Abstract { protected $_nam

我是zend框架的新手。我正在使用
Zend\u Db\u Table\u Abstract
进行数据库操作。现在,我想知道
Zend\u Db\u Table\u Abstract
将为整个应用程序建立一个Db连接,或者它将为每个请求创建一个Db连接

这是我的类,它扩展了zend_db_table_abstract

<?php
    class Model_AppsandBills extends Zend_Db_Table_Abstract {
        protected $_name="appsandbills_master";
    }
?>


对不起,我的英语很差。提前感谢您的帮助。

创建适配器类的实例不会立即连接到RDBMS服务器。适配器保存连接参数,并在您第一次需要执行查询时按需进行实际连接。这确保了创建适配器对象既快捷又便宜。即使您不确定在应用程序服务的当前请求期间是否需要运行任何数据库查询,也可以创建适配器的实例

如果需要强制适配器连接到RDBMS,请使用getConnection()方法。此方法返回连接的对象,由相应的PHP数据库扩展表示。例如,如果您为PDO驱动程序使用任何适配器类,那么getConnection()将PDO对象作为到特定数据库的实时连接启动后返回该对象

如果您希望捕获由于无效帐户凭据或其他连接到RDBMS服务器的失败而引发的任何异常,则强制连接可能非常有用。在建立连接之前不会引发这些异常,因此,如果您在一个位置处理异常,而不是在第一次查询数据库时处理异常,则可以帮助简化应用程序代码

此外,适配器可以序列化以将其存储在会话变量中。这不仅对适配器本身非常有用,而且对聚合它的其他对象(如Zend_Db_Select对象)也非常有用。默认情况下,允许适配器被序列化,如果不需要,则应该考虑将ZDENYDB::AuthOracle序列化选项设为false,请参阅上面的示例。为了尊重延迟连接原则,适配器在取消序列化后不会重新连接自身。然后必须自己调用getConnection()。通过将Zend_Db::auto_reconnect_ON_UNSERIALIZE与TRUE作为适配器选项传递,可以使适配器自动重新连接

资料来源:


另请参考:

请提供您的建议以帮助我。谢谢