Создание шаблона проектирования Singleton в PHP5
К сожалению, Inwdr's answer не работает patterns при наличии нескольких подклассов.
Вот php правильный наследуемый базовый php класс Singleton.
class Singleton
{
private static $instances = array();
protected function __construct() {}
protected function __clone() {}
public function __wakeup()
{
throw new Exception("Cannot unserialize singleton");
}
public static function getInstance()
{
$cls = get_called_class(); // late-static-bound class name
if (!isset(self::$instances[$cls])) {
self::$instances[$cls] = new static;
}
return self::$instances[$cls];
}
}
Тестовый patterns код:
class Foo extends Singleton {}
class Bar extends Singleton {}
echo get_class(Foo::getInstance()) . "\n";
echo get_class(Bar::getInstance()) . "\n";
php
oop
design-patterns
singleton
2021-12-06T19:22:29+00:00
2022-11-05T10:28:11+00:00
aNDRyxaZT
Вопросы с похожей тематикой, как у вопроса:
Создание шаблона проектирования Singleton в PHP5
Предупреждение о файлах Cookies
Мы используем файлы cookies для улучшения работы сайта. Оставаясь на нашем сайте, вы соглашаетесь с условиями использования файлов cookies. Чтобы ознакомиться с нашими Положениями о конфиденциальности и об использовании файлов cookie, нажмите здесь.