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

  • Автор темы Автор темы che
  • Дата начала Дата начала
Зачем тебе конфигуратор
PHP:
DB::setConfig($config, 'default');
//
DB::connection('default');
// или
DB::connection();
DB::connection('other');

ну и static вместо self, выучи в конце концов ман по ООП http://php.net/oop
 
Что ж вы человека плохому учите? Ну какие синглтоны для подключения к БД?
Подключение к БД - это ресурс, конкретный объект.

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

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

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

Речь не про пулы соединений. Бывает так, что приложению необходимо работать одновременно с несколькими базами, а иногда даже с несколькими типами баз. Сожалею, если мне не удалось это донести в своем сообщении сразу.
 
Сверху