我编写了一个用于处理 MySQL 查询的数据类,然后所有其他类(例如 login
、products
)都扩展了该类以使用数据库。因此,由于类似于以下内容的原因,每个页面加载都会创建 2 个或更多数据库连接:
$login, parent::__construct(); // check login via db
$products, parent::__construct(); // fetch products from db
有没有办法解决这个问题,例如在构造函数中添加一些代码来验证现有的数据库连接是否已建立?
与我一起工作的一位开发人员同事以程序风格进行编写,并且仅对所有查询使用单个全局 $_db 对象
,这似乎效率更高,因为它只创建 1 个数据库连接。
最佳答案
对于许多较小的应用程序,我将数据库实例设置为整个应用程序的全局实例,以及配置和其他应用程序范围的类,例如日志记录。这不一定是首选方法,因为它将代码与期望以某种方式命名的事物结合在一起,并且可能会导致冲突。然而,对于小型实用应用程序来说,它很方便。
对于任何更大的东西,我通常都会从 ORM 中使用我的数据库,所以这不是问题。
关于php - PHP 数据库基类是否应该创建多个连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26981783/