Сколько экземпляров одного класса можно создавать? Есть класс "DataBase" обращение идет методом чейнинга.
Делаю так :$db = DataBase::instance();
$db->table('users')->get();
Использую Singleton.
Вопрос такой сколько экземпляров классна можно создавать ?
Можно и вообще надо ли делать так:$db = new DataBase;
$db->table('users')->get();
У меня почти все так реализовано. Вот другой пример:$validation = Validation::instance();
$validation->validate($_POST,$rules);
Объясните пожалуйста где как надо делать.
Хочу понять где надо использовать Singleton а где не надо.

21 Авг 2019 в 07:05
171 +1
0
Ответы
1

В случае использования Singleton, можно создать только один экземпляр класса. Это делается для того, чтобы гарантировать единственность объекта и обеспечить доступ к нему из любой части приложения.

В вашем случае, если вы используете метод getInstance() для создания экземпляра класса DataBase, то можно создать только один экземпляр этого класса. Это делается, чтобы избежать конфликтов при работе с базой данных.

Если вы хотите использовать несколько экземпляров класса DataBase, то нет необходимости использовать Singleton. В этом случае, можно создавать экземпляры класса с помощью оператора new, как вы предложили во втором варианте.

То же самое касается класса Validation. Если вы используете метод instance() для создания экземпляра, то также можно создать только один экземпляр этого класса. Если же вам нужно использовать несколько экземпляров Validation, то используйте оператор new для создания экземпляров.

Итак, чтобы понять, когда использовать Singleton, нужно задать себе вопрос: нужен ли мне только один экземпляр данного класса на всем протяжении выполнения программы? Если ответ да, то используйте Singleton. Если же вам нужны несколько экземпляров класса, то не используйте Singleton и создавайте экземпляры по мере необходимости.

20 Апр в 13:07
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 84 654 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир