[PHP] 理解依赖注入

两个类有依赖关系的时候
使用者通过构造函数参数,方法或属性等方式将具体组件,传给自己
    $storage=new Storge();
//构造函数注入
 class User{
    public function __construct($storage){
        $this->storage = $storage;
    }
 }
 //方法注入
 class User{
    public function setSessionStorage($storage){
        $this->storage = $storage;
    }
 }
 //属性注入
 class User{
    public $sessionStorage;
 }
 $user->sessionStorage = $storage;
 通过构造函数注入适用于必要的依赖,如上例;设值注入适用于可选的依赖,如项目需要一个缓存功能的实现。