@Eka555

Сколько экземпляров одного класса можно создавать?

Есть класс "DataBase" обращение идет методом чейнинга.
Делаю так :
$db  = DataBase::instance();
$db->table('users')->get();

Использую Singleton.
Вопрос такой сколько экземпляров классна можно создавать ?
Можно и вообще надо ли делать так:
$db  = new DataBase;
$db->table('users')->get();

У меня почти все так реализовано. Вот другой пример:
$validation  = Validation::instance();
$validation->validate($_POST,$rules);

Объясните пожалуйста где как надо делать.
Хочу понять где надо использовать Singleton а где не надо.
  • Вопрос задан
  • 798 просмотров
Решения вопроса 2
trevoga_su
@trevoga_su
как думаешь, бывают ли ситуации, когда нужно иметь два подключения в скрипте к двум разным базам?
по моему, такая ситуация вполне реальна
сл-но делать одиночкой класс для работы с субд - не правильно
Ответ написан
@Silm
Использую Singleton.
Вопрос такой сколько экземпляров классна можно создавать ?

Если у вас синглтон, то вы физически можете создать только 1 экземпляр. Для того и делают синглтоны... в чем вопрос?
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
miraage
@miraage
Старый прогер
Несмотря на то, что синглтон является антипаттерном - он незаменим в разработке.
Конкретно в этом случае, схема такая:
- в синглтоне хранится соединение с базой данных = DbConnection
- querybuilder создается новые объекты себя, но использует DbConnection
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы