another_dream
@another_dream
Backend-разработчик, Laravel/ZF2/Yii2

Как грамотно использовать DI-контейнер с внедрением зависимостей через конструктор в ZF2?

Как правильно внедрить зависимость посредством интерфейса через конструктор класса?

В Module::getServiceConfig() описал factory через класс, реализующий интерфейс Zend\ServiceManager\FactoryInterface:
'factories' => [
    'MyModule\Model\RelatedLists\ServiceInterface' => 'MyModule\Model\RelatedLists\Factory\ServiceFactory',
]

Данный вариант сработает, если только создавать сервис через ServiceLocator.
Что сделать, чтобы была возможность внедрить этот сервис посредством его интерфейса в конструкторе класса, к примеру, контроллера?
public function __construct(\MyModule\Model\RelatedLists\ServiceInterface $service) {...}


Как грамотно организовать резолвинг зависимостей, например, как в Laravel, где для этих целей можно выделить ServiceProvider и забиндить(bind/singleton, например) интерфейс на реализацию (abstract => concrete)?
  • Вопрос задан
  • 217 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы