This document discusses PHP dependency injection. It defines dependency injection as components being given their dependencies through constructors, methods, or directly into fields. Constructor injection is best for required dependencies, while setter injection is best for optional dependencies. Modern PHP frameworks heavily use dependency injection to provide decoupled yet cohesive components. Examples are given of constructor, setter, and property injection in PHP code. The benefits of dependency injection in loosening coupling between classes is demonstrated. Best practices for PHP dependency injection are outlined. Resources for learning more about PHP dependency injection are provided.