PHP依赖注入的含义

通俗来说,就是你当前操作一个类,但是这个类的某些方法或者功能不是单单只靠这个类就能完成的,而是要借助另一个类的才能完成的。 最直接的标志就是传参数据为对象的时候。 严格来说,你目前操作的是两个类,这两个类之间相互依赖,传参的方式叫注入。

attachments-2020-08-Y0wz3exE5f3c9bd55f739.png


依赖注入其实本质上是指对类的依赖通过构造器完成自动注入,例如在控制器架构方法和操作方法中一旦对参数进行对象类型约束则会自动触发依赖注入,由于访问控制器的参数都来自于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:

v2-5a4e691eb32defbb5a19567ebe70180b_720w.jpg

通俗来说,就是你当前操作一个类,但是这个类的某些方法或者功能不是单单只靠这个类就能完成的,而是要借助另一个类的才能完成的。

最直接的标志就是传参数据为对象的时候。

严格来说,你目前操作的是两个类,这两个类之间相互依赖,传参的方式叫注入。


attachments-2020-08-vl8gaBmB5f3c9c4a70ada.jpg

  • 发表于 2020-08-19 11:28
  • 阅读 ( 280 )
  • 分类:分布式

0 条评论

请先 登录 后评论
Pack
Pack

1101 篇文章

作家榜 »

  1. Pack 1101 文章
  2. 轩辕小不懂 117 文章
  3. 小编-青青 63 文章
  4. 吉洪叶 21 文章
  5. 六星教育-曾老师 3 文章
  6. 靓靓 2 文章
  7. 翠翠老师 2 文章
  8. 天晓冥 2 文章