[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Переподключение в синглтоне
Страницы: 1, 2
GET
Уважаемые знатоки.

Решил ретранслировать вопрос с чата.

Бывало ли в вашей практике, чтоб во время загрузки страницы где-нибудь на середине отваливалось соединение с БД, ну т.е. первые 1-2 запроса нормальные, а потом раз и отвалилось, несмотря что между ними доли секунды обычно? Понимаю, что нормальный класс соединения попытается перподключится, но все же, было хоть раз такое зафиксировано?

Взять классический синглтон:

class DBAccess{  

const DB_SERVER="localhost";
const DB_USER="root";
const DB_PASS="pass";
const DB_NAME="dbname";

private $_connection;
private static $_dbinstance;

/* Made the constructor private,
* to ensures that the class can only be instantiated
* from within itself.
*/

private function __construct(){
try{
$this->_connection= new mysqli(self::DB_SERVER,
self::DB_USER,
self::DB_PASS,
self::DB_NAME);
if ($this->_connection->connect_error){
throw new Exception("Could not connect to Database.");
}
}
catch(Exception $err){
echo $err->getMessage();
die();
}

}

public static function getConnection(){
if (is_null(self::$_dbinstance)){
self::$_dbinstance= new DBAccess();
}
return self::$_dbinstance;
}
/* Execute a SQL query and returns the results*/
public function selectQuery($query){
$rs=$this->_connection->query($query);
return $rs;
}
}


Какова вероятность возникновения этого события???
Цитата
if (is_null(self::$_dbinstance)){

Ну, конечно за исключение самого первого запуска.

Не могу сообразить объект создался идут запросы и вдруг он стал NULL. Какая причина и как часто такое может быть? Даже при большой загрузке сайта...просто кажется, что если уж объекты стали пропадать, то дело уже не до переподключений, вообще Ж**А всему проекту.

Нет? :)

_____________
Не тот велик, кто не падал, а тот кто падал и поднимался.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.