代码语言:javascript复制
两个类有依赖关系的时候
使用者通过构造函数参数,方法或属性等方式将具体组件,传给自己
$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;
通过构造函数注入适用于必要的依赖,如上例;设值注入适用于可选的依赖,如项目需要一个缓存功能的实现。