Пример базового класса для паттерна одиночка на php
Пример паттерна одиночка (singleton) на php
08.03.2019
<?php namespace Bp\Template\Oddler; /** * Класс Паттерн одиночка */ class Singleton { /** * * @var object Instance * */ protected static $instances = []; /** * Возвращает единственный экземпляр объекта * * @return object */ public static function getInstance() { $class = get_called_class(); if (!isset(self::$instances[$class])) { self::$instances[$class] = new static(); } return self::$instances[$class]; } // Предотвращаем создание //----------------------\/\/\/\/\/---------------------------- private function __construct() { } //private function __clone() public function __clone() { trigger_error('Clone is not allowed.', E_USER_ERROR); } //private function __wakeup() public function __wakeup() { trigger_error('Unserializing is not allowed.', E_USER_ERROR); } //----------------------/\/\/\/\/\---------------------------- }