Я прочитал много постов и блогов о синглтоне и связи с базой данных. Из определения синглтона я понимаю, что вы можете использовать его для любого объекта класса, который создается много раз, оставаясь неизменным.
У меня есть веб-приложение, и мне было интересно, смогу ли я реализовать Singleton для подключения к базе данных
Вот что я имею под классом DatabaseGateway:
class DatabaseGateway
{
private $DBConnection;
private $serverName;
private $userName;
private $password;
private $databaseName;
public function __construct() {
//not done
}
public function getDBConnection() {
return $this->DBConnection;
}
public function openDBConnection() {
$this->DBConnection = new mysqli($this->serverName, $this->userName, $this->password, $this->databaseName);
}
public function closeDBConnection() {
mysqli_close($this->DBConnection);
}
Метод OpenDBConnection используется, когда пользователи входят в класс UserGateway. Мне было интересно, если это хорошая идея, и если это возможно, сделать openDBconnection в единый, в то время как у каждого есть своя учетная запись и пароль.
Задача ещё не решена.
Других решений пока нет …