依赖注入其实本质上是指对类的依赖通过构造器完成自动注入,例如在控制器架构方法和操作方法中一旦对参数进行对象类型约束则会自动触发依赖注入,由于访问控制器的参数都来自于URL请求,普通变量就是通过参数绑定自动获取,对象变量则是通过依赖注入生成。
控制器:
<?PHP namespace app\index\controller; use app\index\model\User; class Debug { protected $user; public function __construct(User $user) { $this->user = $user; } public function hello() { return ‘Hello,‘ . $this->user->name . ‘!‘; } }
模型:
<?PHP namespace app\index\model; use think\Model; class User extends Model { public $name = ‘我是依赖注入‘; }
运行 app\index\index\debug\hello:
通俗来说,就是你当前操作一个类,但是这个类的某些方法或者功能不是单单只靠这个类就能完成的,而是要借助另一个类的才能完成的。
最直接的标志就是传参数据为对象的时候。
严格来说,你目前操作的是两个类,这两个类之间相互依赖,传参的方式叫注入。
如果你觉得区分不了类的实例化和依赖注入,请参考:
https://blog.csdn.net/mrli113/article/details/70792498
https://www.cnblogs.com/painsOnline/p/5138806.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。