PHP - паттерн Одиночка
Primary tabs
Рассмотрим реализацию паттерна Одиночка на языке PHP:
Сущность которая должна быть в едниственном экземпляре у нас будет хранится в статической переменной
class Singleton
{
// единая функция для создания нового одиночки
// или же получения доступа к уже имеющемуся
public static function getInstance()
{
static $instance = null; // статическая переменная
if (null === $instance) { // проверка существования
$instance = new static();
}
return $instance;
}
/*скрываем конструктор
- для того чтобы класс нельзя было создать в обход getInstance */
protected function __construct()
{
}
/* далее метод (его может и не быть)
- но для примера мы оставляем его, чтобы показать
возможность "уточнения" функционала в наследниках
*/
public someMethod()
{
}
}
Можно "наследоваться" и как-то модифицировать класс:
// от одиночки можно наследоваться и уточнить функционал
class SingletonChild extends Singleton
{
// реализация дополнительных методов
// или переопределение существующих
}- Log in to post comments
- 2711 reads