Junior
131
questionbank
Для чего используется паттерн Синглтон?
Ответ от нейросети
sobes.tech AI
Синглтон (Singleton) используется для гарантии, что у класса будет только один экземпляр, и для предоставления к этому экземпляру глобальной точки доступа. Применяется там, где необходимо контролировать создание объектов, например, для:
- Работы с базой данных (единственное соединение).
- Управления конфигурацией приложения.
- Логгирования (единственный экземпляр логгера).
Пример реализации:
<?php
class Singleton {
private static ?self $instance = null;
private function __construct() {
// Приватный конструктор предотвращает создание новых экземпляров извне
}
private function __clone() {
// Запрет клонирования экземпляра
}
private function __wakeup() {
// Запрет десериализации экземпляра
}
public static function getInstance(): self {
if (self::$instance === null) {
self::$instance = new self();
}
return self::$instance;
}
public function someMethod() {
// Логика работы экземпляра
return "Привет из Синглтона!";
}
}
// Получение экземпляра
$singleton1 = Singleton::getInstance();
$singleton2 = Singleton::getInstance();
// $singleton1 and $singleton2 указывают на один и тот же объект
// var_dump($singleton1 === $singleton2); // true echo $singleton1->someMethod(); // Привет из Синглтона!