Шаблон проектирования 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();