PHP Singleton数据库限制

时间:2011-07-10 00:45:34

标签: php singleton

好的,所以这很多,我想我会问Stack Overflow上的一些聪明人来帮我解决这个问题。

我已经读过,如果要创建数据库连接以便返回一个实例,则应该使用Singleton模式。这一切都很好,但这不会限制你只有一个连接吗?因为singlton只返回一个对象的单个实例。

所以说我有一个方法返回类控制器的单个实例,构造函数根据用户指定的参数创建连接,或者说在配置文件中,然后用户想要创建第二个连接到另一个数据库,单例不会返回原始连接,因此它限制用户创建多个数据库连接吗?

2 个答案:

答案 0 :(得分:0)

我可以通过各种方式看到实施,包括:

1)单例保留成员数据,包括与数据库A的连接和包含与数据库B的连接的另一个成员变量。

2)与#1相同但是假设你想要一个连接到每个数据库的池,那么你将保留2个包含连接的数组。当然这些都可以同时连接,但更好的是你会懒得连接它们但保持这个数组(到某个最大连接数)。

答案 1 :(得分:0)

您可以使用Singleton模式创建Connections类。这取决于此类管理的连接数,例如,您可以保留一个连接,或者可以使用对象池类型模式来管理连接池。