Ситуация:
- Я использую класс БД в качестве оболочки (dbwrapper) для открытия и закрытия соединений БД через PHP PDO
- У меня есть3 отдельных класса, которые расширяют эту оболочку БД
- Я создаю 3 объекта из указанных классов, и в течение их существования каждый из них делает запросы БД
- MySQL, используемый в этом случае.
Когда методам 3 классов требуется доступ к базе данных, каждый из них создает объекты PDO внутри себя, используя расширенный модуль dbwrapper.Каждый объект хранит свой объект PDO в элементе / поле для справки сам по себе.
Вопрос: У меня такой вопрос ... каждый объект создает отдельное соединение с базой данных,делать 3 всего?Каждый клиент Apache создает только одно соединение с базой данных или каждый объект, использующий базу данных в приложении php, создает соединение.(звучит неэффективно!)
Причина: Я хотел бы понять, как обрабатываются эти соединения.
Я пытаюсь решить, будет ли лучше, чтобы каждый класс расширял dbwrapper или было бы лучше инициализировать dbwrapper без автоматического соединения с db, обрабатывайте это, когда это необходимо.Вместо этого я бы передавал dbwrapper каждому конструктору объектов, когда они инициализируются ... позволяя им использовать эту ссылку.Если происходит соединение нескольких дБ, то я думаю, что это был бы лучший способ минимизировать накладные расходы при преодолении проблем области видимости и доступа к объекту.
Заранее спасибо!