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
- 2499 reads