Ещё 1 класс для работы с БД

AmdY

Пью пиво
Команда форума
Зачем тебе конфигуратор
PHP:
DB::setConfig($config, 'default');
//
DB::connection('default');
// или
DB::connection();
DB::connection('other');
ну и static вместо self, выучи в конце концов ман по ООП http://php.net/oop
 

XtremallyPurpur

Новичок
Что ж вы человека плохому учите? Ну какие синглтоны для подключения к БД?
Подключение к БД - это ресурс, конкретный объект.

Положить в реестр текущее подключение к базе и доставать его по необходимости. Не сильно лучше синглтона, зато может спасти, когда подключений станет несколько.
Но лучше пойти и почитать по инъекцию зависимостей, и иметь нужное подключение из контейнера уже подготовленным в целевом классе ($this->db).

P.S. Понятно, что хочется изобрести велосипед, но пока еще не слишком поздно, лучше для таких системных вещей воспользоваться готовым решением драйвера (драйвер - это не ORM), а не писать свой. А то, глядишь, потом придется овертаймить, переделывая :)
 

AmdY

Пью пиво
Команда форума
XtremallyPurpur, это не синглтон, а мультитон, можно сколько угодно конекшинов держать в пуле.
 

AnrDaemon

Продвинутый новичок
Что ж вы человека плохому учите? Ну какие синглтоны для подключения к БД?
Подключение к БД - это ресурс, конкретный объект.

Положить в реестр текущее подключение к базе и доставать его по необходимости.
Спасибо, я как раз страдал недостатком радости. Позабавили.
 

AnrDaemon

Продвинутый новичок
Адекватные люди начинают с того, что изучают работу модуля, к которому они делают обёртку.
PHP и так использует пул соединений для большинства модулей работы с БД.
Класть открытое соединение ещё куда-то руками - делать дурацкую работу.
 

флоппик

promotor fidei
Команда форума
Партнер клуба
AnrDaemon, Пул соединений - и два одновременных соединения - разные вещи.
 

AnrDaemon

Продвинутый новичок
Согласен, надо точнее ставить ТЗ. Например, мне непонятно, откуда могут взяться два одновременных соединения в приложении, выполняющем типовые операции, не связанные с обслуживанием БД.
 

флоппик

promotor fidei
Команда форума
Партнер клуба
AnrDaemon, че ты фигню пишешь? библиотечный функционал обсуждаем же. А не "типовое приложение".
 

AnrDaemon

Продвинутый новичок
А, ясно. Извините, что влез. Сферический функционал в вакууме никогда не был моей сильной стороной.
 

XtremallyPurpur

Новичок
Адекватные люди начинают с того, что изучают работу модуля, к которому они делают обёртку.
PHP и так использует пул соединений для большинства модулей работы с БД.
Класть открытое соединение ещё куда-то руками - делать дурацкую работу.
Речь не про пулы соединений. Бывает так, что приложению необходимо работать одновременно с несколькими базами, а иногда даже с несколькими типами баз. Сожалею, если мне не удалось это донести в своем сообщении сразу.
 
Сверху