PHP SINGLETON АНТИПАТТЕРН
Singleton – это объект, который может существовать только в одном экземпляре. Singleton обычно используется для создания объекта конфигурации, создания объекта базы данных или любого другого класса, объект которого создается лишь один раз.
Singleton в PHP - это известный антипаттерн, который является популярным, но может иметь некоторые проблемы в расширении, и может увеличить количество ошибок в коде. Есть множество способов создания Singleton в PHP, но некоторые из них могут привести к ошибкам в работе, особенно когда речь идет об изменении модели данных.
class Singleton { private static $instance; private function __construct() { // код конструктора } public static function getInstance() { if(!self::$instance) { self::$instance = new self(); } return self::$instance; } private function __clone() { // заблокировали клонирование объекта } private function __wakeup() { // заблокировали десериализацию объекта }}
Для того, чтобы использовать Singleton в PHP, достаточно вызвать метод getInstance ():
$singleton = Singleton::getInstance();
Однако, несмотря на множество положительных аспектов Singleton, его также относят к категории антипаттернов. Потому что его использование является индикатором, что проблемы многократного создания объектов не были решены, а именно через использование DI-контейнеров (например, Symfony Service Container).
Самый популярный и тупой паттерн - Singleton
Одиночка. Singleton ► Шаблон проектирования ► Урок №9
Урок 02. PHP - Design Patterns. Singleton. Multione container
«Антипаттерны разработки», Фархад Бекмухамбетов
Singleton - антипаттерн? Паттерны проектирования [RU, Android] / Мобильный разработчик
Паттерн Singleton на реальном примере в PHP
Антипаттерны программирования. Используем каждый день.
Singleton - избегайте его
Трейдинг с нуля - Бинарные Опционы Стратегия - Торговый бот для Бинарных Опционов - Pocket Option
шаблон проектирования - singleton (одиночка) design patterns