Может быть, вам следует подумать о реализации вашего Database
класса в соответствии с Singleton Pattern .
Обновлено (согласно комментарию ниже):
Ok. У меня есть только одно предложение здесь (кроме передачи объекта через параметры метода и внедрение зависимостей, описанных в комментарии igorw ) ...
Внедрение зависимостей - хороший способ, но в этом случае у вас - я полагаю, есть небольшое количество баз данных, поэтому может быть лучше сохранить их все в каком-то статическом частном массиве и получить по ключам.
Таким образом, у вас будет только один публичный статический метод getInstance($key)
, а ключи могут быть сохранены как некоторые предопределенные константы (чтобы избежать ошибок в написании).
Таким образом, вам вообще не требуется инициализация (getInstance($key)
может создавать новые объекты базы данных с необходимыми параметрами [передаются в конструктор] в зависимости от параметра $ key). Внедрение зависимостей в целом выглядит лучше, но в некоторых случаях этот способ может быть проще в использовании.