Book Image

CakePHP 2 Application Cookbook

Book Image

CakePHP 2 Application Cookbook

Overview of this book

Table of Contents (20 chapters)
CakePHP 2 Application Cookbook
Credits
Foreword
About the Authors
About the Reviewer
www.PacktPub.com
Preface
Index

Dependency Injection


The testing of tightly coupled objects is hard. You may end up testing code from other objects, and you'll also need to configure them to allow any testing at all. Tightly coupled objects are those that know too much information about each other, for example, their internals, or they know how to instantiate each other. In an object-oriented paradigm, this should be avoided, and all objects should only care about themselves. This follows the single responsibility principle, which says one class should have only one responsibility, and the related code should be encapsulated by the class.

Through the technique of injecting dependencies, objects can be provided with their dependencies by various means:

  • Constructor: This passes the dependent object as a parameter to the constructor

  • Method (setDependencyName(), for example): This passes the dependent object as a parameter and sets a protected or private property with the object, to be used later in other methods

  • Field: This...