In "Learning About Dependency Injection and PHP," Ralph Schindler of Zend lays out the basic concept of Dependency Injection. Instead of just defining the concept, he explores some of the history, concerns, comparisons with other languages, and even some of the Dependency Injection Frameworks. One particular conclusion struck me as particularly important:
"It is important to realize that dependency management solutions in and of themselves are, in all the available words, full frameworks. They require that you understand both their philosophy as well have a minimal understanding of what facilities they are offering in order to use them effectively. To understand the true benefits of any framework one must first know the pain points the framework is attempting to solve."
Overall, he raises as many questions as he answers but throws in some considerations towards the future of these frameworks and how they impact the PHP world and our development practices that we use.