Что такое Singleton? Когда применять?

Ответ

Паттерн гарантирует единственный экземпляр класса в приложении.

class Config {
    private static ?self $instance = null;
    private function __construct() {}
    public static function getInstance(): self {
        if (self::$instance === null) {
            self::$instance = new self();
        }
        return self::$instance;
    }
}

Применять для: глобального конфига, логгера, подключения к БД. Минусы: усложняет тестирование (сложно подменить), скрытая глобальная зависимость. В PHP часто предпочтительнее DI-контейнер.

🧠Квиз 🏆Лидеры 🎯Собесед. 📖Вопросы 📚База зн.