У меня есть класс доступа к данным (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, весну … но, похоже, не нашел хорошего решения.