Шаблон проектирования Singleton

Singleton Pattern — один из наиболее известных шаблонов проектирования. Почти в любой объктно-ориентированной программе обычно существует один-два объекта, которые инициализируются в начале, и используются на всем протяжении работы приложения. Такими объектами могут быть, например, класс ведения логов приложения, подгрузчик (autoloader) классов или адаптер соединения с базой данных.

Преимущества шаблона Singleton - Singleton гарантирует, что у класса есть только один экземпляр, и предоставляет к нему глобальную точку доступа.

Пример шаблона Singleton на PHP5:

<?php
class Singleton
{
    private static $_instance = null;
    
    public static function getInstance()
    {
        if(null === self::$_instance)
        {
            self::$_instance = new self;
        }
        return self::$_instance;
    }
    
    final private function __construct() {}
    final private function __clone() {}
}

Чтобы получить экземпляр класса Singleton из любой точки приложения следует использовать следующую конструкцию:
$singleton = Singleton:getInstance();

Рекомендовать статью: