两个类有依赖关系的时候
使用者通过构造函数参数, 方法或属性等方式将具体组件, 传给自己
- $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;
通过构造函数注入适用于必要的依赖, 如上例; 设值注入适用于可选的依赖, 如项目需要一个缓存功能的实现.
[PHP] 理解依赖注入
来源: http://www.bubuko.com/infodetail-2856350.html