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 минут. От профи.