Шаблон проектирования Singleton в PHP: реализация и примеры

“Singleton” в PHP относится к шаблону проектирования, который ограничивает создание экземпляра класса одним объектом. Этот шаблон обычно используется, когда вы хотите гарантировать, что только один экземпляр класса создается и используется в разных частях вашего приложения.

Вот пример реализации шаблона Singleton в PHP:

class Singleton
{
    private static $instance;
    private function __construct() {
        // Private constructor to prevent direct instantiation
    }
    public static function getInstance() {
        if (null === self::$instance) {
            self::$instance = new self();
        }
        return self::$instance;
    }
// Other methods and properties...
}

В приведенном выше коде класс Singletonимеет частное статическое свойство $instance, которое содержит единственный экземпляр класса. Конструктор также является закрытым, чтобы предотвратить прямое создание экземпляров вне класса.

Метод getInstance()используется для получения экземпляра класса. Он проверяет, является ли экземпляр нулевым, и если да, то создает новый экземпляр с помощью оператора new self(), присваивая его свойству $instance. Последующие вызовы getInstance()вернут существующий экземпляр.

Использование шаблона Singleton гарантирует, что вы всегда работаете с одним и тем же экземпляром класса, что может быть полезно в сценариях, где вам нужен централизованный доступ к общему ресурсу или когда вы хотите контролировать количество экземпляров класса.