我是Php OOP的新手,我正在做研究,我读到数据库对象的单例设计是首选方法。但是,我不知道这是否会继续创建该连接的新实例,因为我不是直接创建单例类而是使用通过PEAR提供的框架?
abstract class WI_Object_DB extends WI_Object {
protected static $cxn;
protected static function init($config){
self::$cxn =& MDB2::singleton($config->dsn);
if (!PEAR::isError(self::$cxn)) {
self::$cxn->setFetchMode('DB_FETCHMODE_ASSOC');
} else {
throw new Exception(self::$cxn->getMessage());
}
}
public function __construct()
{
parent::__construct();
if (self::$cxn===null) {
self::init($GLOBALS['configs']);
}
}
}