简单易懂的说下php ioc控制反转 di容器

本文简单解释了PHP中的IOC(控制反转)和DI(依赖注入)容器概念。通过实例展示了如何从主动new对象转变为依赖于容器来获取对象,强调了使用容器和接口的优雅性,以实现更好的代码组织和解耦。
摘要由CSDN通过智能技术生成

简单易懂的说下php ioc控制反转 di容器,不喜勿喷

di容器就是指当你需要一个资源的时候直接找容器要,容器接管了主导权,这也就是相对平常我们需要正向去主动new一个对象,现在就是被di容器“反转控制”了,我们只能去求这它要,从而被动接受了,其中我需要的对象也要好资源也罢,它们的依赖关系咱都别管容器来搞定,这就是ioc和di。

我们来看几个例子

原始的

class  phone
{
   
    public $obj;
    public function __construct()
    {
   
        $this->obj = new usb();//注意这里主动去new了需要的对象
    }
    public function act()
    {
   
        $this->obj->dosth();
    }
}

class usb
{
   
    public function dosth(){
   
        echo 1;
    }
}
$phone = new phone();
$phone->act();

这里是在类里面去new的,也就是主动去要的,我们接下来要剥夺它的权利,不给它new,看下面代码

class  phone
{
   
    public $obj;
    public function __construct($obj)
    {
   
        $this->obj = $obj;//注意这里剥夺权利了
    }
    public function act()
    {
   
        $this->obj->dosth();
    }
}

class usb
{
   
    public function dosth(){
   
        echo 1;
    }
}

$usb=new usb;
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值