我正在构建一个 PHP 应用程序,它必须与几个结构相同的数据库进行交互。我想使用单例工厂来分发到数据库的连接并最大限度地减少重复连接的数量。我还想用一些函数来包装数据库类。
如果我可以在一个班级中完成所有这些,那将非常方便。我尝试使用单例工厂(当时这似乎是个好主意),只是意识到它似乎必须返回其他类才能有用。有没有一种简单的方法可以结合单例工厂和数据库包装功能,或者我应该将数据库包装功能放在另一个类中?
static private $instance = array();
private function __construct($name) {
switch ($name) {
//select db connection
}
$this->db = $this->getDb();
return;
}
protected function __clone() {
}
public static function singleton($name) {
if (!isset(self::$instance[$name])) {
$c = __CLASS__;
self::$instance[$name] = new $c($name);
}
return self::$instance[$name];
}
public function wrapperFunction() {
//stuff
}