PHP SINGLETON ПОДКЛЮЧЕНИЕ К БД

Singleton является одним из наиболее распространенных паттернов проектирования, который позволяет создавать всего один объект класса и предоставлять к нему глобальный доступ.

В PHP singleton может использоваться в контексте подключения к базе данных. Это позволяет создавать только одно подключение, которое используется во всем приложении, что снижает количество запросов к базе данных.

$db = null;
class DatabaseConnection {
private static $instance = null;
private $connection;
private $host = 'localhost';
private $username = 'root';
private $password = '';
private $database = 'test';
private function __construct()
{
$this->connection = mysqli_connect($this->host, $this->username, $this->password, $this->database);
}
public static function getInstance()
{
if (!self::$instance) {
self::$instance = new DatabaseConnection();
}
return self::$instance;
}
public function getConnection()
{
return $this->connection;
}
public function __destruct()
{
$this->connection->close();
}
}
function getDb() {
global $db;
if ($db === null) {
$db = DatabaseConnection::getInstance();
}
return $db->getConnection();
}

В данном примере создается объект класса DatabaseConnection при первом вызове метода getInstance. Все последующие вызовы метода getInstance возвращают тот же самый объект, что и при первом вызове.

Данное подключение к базе данных можно использовать в любом месте приложения следующим образом:

$connection = getDb();
$result = mysqli_query($connection, 'SELECT * FROM `users`');
while ($row = mysqli_fetch_assoc($result)) {
echo $row['name'];
}
mysqli_free_result($result);

Паттерн Singleton на реальном примере в PHP

Учим PHP за 1 Час! #От Профессионала

Singleton Design Pattern in Hindi - PHP - DB Connection Using Singleton in PHP

Как подключить БАЗУ ДАННЫХ к САЙТУ с помощью PHP? 🖥️

Create a Professional Discussion Forum Website - PHPBB

Паттерн проектирования - Singleton на PHP

PHP - 100% Защищённая Регистрация и Авторизация за 30 минут. От профи.

Реклама
Новое
Реклама