Как добавить значения в контроллер Injection Dependency?

У меня есть класс доступа к данным (DAO), и вам нужно ввести его в несколько моделей.

$dao = new DAO("mysql", "username", "password") $userModel = new UserModel($dao); 

Использование инъекции зависимостей очень важно для меня. Поэтому он должен выглядеть примерно так:

 //My DAO class class DAO($connection, $username, $password) { $this->connection = $connection; $this->username = $username; $this->password = $password; } //My user model that I am injection the DAO class into class UserModel(DAO $dao) { //Where should i add my connection/username and password? $this->dao = $dao; } 

К сожалению, я не могу найти способ указать мое соединение и учетные данные в конструкторе. Я также хотел бы использовать один и тот же экземпляр DAO и UserModel в другом месте.

Вопрос . Как я могу указать различные соединения / учетные данные для разных моделей / сервисов и сохранить один и тот же экземпляр DAO?

PS Я смотрел на прыщ, laravel DI, весну … но, похоже, не нашел хорошего решения.