Я новичок в 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']);
}
}
}
Задача ещё не решена.
Других решений пока нет …