如何在其他类中运行数据库类方法?

时间:2010-01-14 04:40:53

标签: php class

我是新手使用PHP中的类,我刚刚意识到,在我的大多数类方法中,我需要做一些mysql查询。我有另一个类来处理我的连接和查询,但我应该如何从其他类调用该类?如果我的所有类都依赖于我的数据库类,这种方法是否会失败?

1 个答案:

答案 0 :(得分:1)

这通常用Singleton或Factory模式解决......

当你需要使用数据库时,你会抢夺应用程序的数据库对象:

$db = Site::getDb();   // singleton
$db->exec('update t set i = i + 1');

getDb返回一个静态实例。

或:

 $db = Db::getDb('dsn');   // factory
 $db->exec('update t set i = i + 1');

返回静态实例(如果存在),或者为该dsn创建新的db句柄...