Php 全局可用的数据库连接,无需使用全局/单例
我正在创建一个新的PHP应用程序,并希望确保正确地进行基础工作,以避免将来出现任何问题。我知道我的应用程序将有不止一个类需要数据库连接(PDO),在互联网上搜索了很长时间后,我找不到一个确定的解决方案 我个人喜欢单例设计模式,但有很多人说,总的来说应该不惜一切代价避免单例。然而,这些人并没有给出这个问题的具体解决方案 我知道一个应用程序可能需要多个数据库连接,但我不能创建一个包含每个所需数据库连接的单例(即DB::getInst('conn1')->query();)Php 全局可用的数据库连接,无需使用全局/单例,php,design-patterns,singleton,pdo,Php,Design Patterns,Singleton,Pdo,我正在创建一个新的PHP应用程序,并希望确保正确地进行基础工作,以避免将来出现任何问题。我知道我的应用程序将有不止一个类需要数据库连接(PDO),在互联网上搜索了很长时间后,我找不到一个确定的解决方案 我个人喜欢单例设计模式,但有很多人说,总的来说应该不惜一切代价避免单例。然而,这些人并没有给出这个问题的具体解决方案 我知道一个应用程序可能需要多个数据库连接,但我不能创建一个包含每个所需数据库连接的单例(即DB::getInst('conn1')->query();) 是否必须将PDO(或PDO
是否必须将PDO(或PDO包装器)对象传递给可能需要它的每个类?我以前做过这件事,但发现跟踪它很烦人。我个人认为,对于这样的用法,单通(或多通,如果需要多个DB连接)是合适的 但是如果您不想使用它,那么应该查看注册表模式 通过这种方式,您可以使数据库类实例可用于所有应用程序的类,而不必每次都传递额外的参数(这非常难看,IMHO) 但是,我不能创建一个包含每个必需的DB连接(即DB::getInst('conn1')->query();)的单例吗
您可以,它被称为pattern来看看:或者通常的依赖注入。也许这会给你一个新的视角。谢谢,我认为多音是不错的,但我想这可以归结为个人喜好