Как правильно организовать работу с двумя базами данных?

Подскажите, пожалуйста, как правильно реализовать работу с двумя базами данных через собственный класс в PHP? Я видел много разных решений, в которых зачастую используется статическая переменная, хранящая в себе подключение к базе данных. Но беда в том, что, поскольку переменная статическая, создавать несколько подключений к двум разным базам данных этот класс не позволит мне. И как быть? Создавать два отдельных класса, в каждом из которых использовать статическую переменную? Сделал бы так, но сомневаюсь, что это будет правильно со стороны ООП. Спасибо!


Ответы (1 шт):

Автор решения: Oleg Dmitrochenko

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

Если у вас разные сервера, или нет полномочий у учетных записей на использование БД под одной учеткой, то создавайте два подключения. Но с свою очередь, зачем их вам создавать одновременно? Вы можете по очереди, по мере надобности, сначала создать одно подключение и выполнить запрос, затем отключиться, затем создать второе подключение и выполнить запрос.

С т.з. ООП у вас не должно быть статических глобальных переменных, у вас должен быть класс-одиночка, который инициализирует статический объект.

→ Ссылка