Поскольку это относится к внедрению зависимостей в целом, это то, что вы должны практиковать, если вы пытаетесь написать твердотельный код.У меня есть две статьи, которые я написал по теме «Внедрение зависимостей», поскольку она связана с базовыми знаниями (я думаю), которые должны иметь разработчики, прежде чем перейти непосредственно к коду, который использует DiC:
http://ralphschindler.com/2011/05/18/learning-about-dependency-injection-and-php
Я также собрал несколько примеров использования Zend \ Di, который является компонентом DiC в кодовой базе ZF2:
https://github.com/ralphschindler/Zend_DI-Examples/
Еще один момент, я хотел быmake ... Как только вы начинаете передавать DiC как зависимость в контроллеры, модели и т. д., ваш DiC фактически становится локатором службы в этот момент.Это вполне приемлемо, но вы должны заранее знать, что использование Service Locator могло бы / должно было быть частью ваших целей проектирования.
Следующий бета-цикл ZF2, вероятно, лучше расскажет, как Di и Service Locatorsиспользуются через модули, контроллеры и как зависимости вставляются в такие вещи, как помощники и модели.Так что следите за этим.
Надеюсь, что вы начали.