class Config {
private static ?self $instance = null;
private function __construct() {}
public static function getInstance(): self {
self::$instance ??= new self();
return self::$instance;
}
}Singleton — одна з найбільш критикованих патернів. Він вводить глобальний стан, ускладнює тестування (важко замінити на mock), порушує Dependency Inversion. У сучасному коді замінюється реєстрацією через IoC-контейнер як singleton-залежність.