BRat
o_0
Ссылки и обьекты
Нашел в одной книге по паттернам следующий вариант Singleton'a:
Внимание вопрос:
Зачем здесь - $GLOBALS[$key] =& new DbConn(M_E); нужна ссылка? и соответсвенно что может случиться если ее оттуда убрать - $GLOBALS[$key] = new DbConn(M_E);
Нашел в одной книге по паттернам следующий вариант Singleton'a:
PHP:
class DbConn {
function DbConn($fromGetInstance=false) {
if (M_E != $fromGetInstance) {
trigger_error(‘The DbConn class is a Singleton,’
.’ please do not instantiate directly.’);
}
}
function &getInstance() {
$key = ‘__some_unique_key_for_the_DbConn_instance__’;
if (!(array_key_exists($key, $GLOBALS) && is_object($GLOBALS[$key])
&& ‘dbconn’ == get_class($GLOBALS[$key]) )) {
$GLOBALS[$key] =& new DbConn(M_E);
}
return $GLOBALS[$key];
}
}
Зачем здесь - $GLOBALS[$key] =& new DbConn(M_E); нужна ссылка? и соответсвенно что может случиться если ее оттуда убрать - $GLOBALS[$key] = new DbConn(M_E);
)