将数据库实例传递给多个类

时间:2012-11-19 03:33:40

标签: php database oop

如果我有一个数据库类,并将该类的实例传递给其他类的构造函数,它仍然只使用一个连接,还是会创建与我传递给它的构造函数一样多的连接?

1 个答案:

答案 0 :(得分:2)

一般来说,传递给函数或分配给变量的对象(不使用clone)会增加引用计数但不会创建另一个实例。

如果克隆了一个对象,则所有属性都将复制到一个新对象中;标量属性将重复,其他属性(对象,资源)将具有增加的引用计数。

结论

假设您已创建数据库类的单个实例,并且数据库连接在构造函数内创建一次并存储在属性中,则传递它不会导致打开多个连接。