自动依赖注入

概念:自动依赖注入是一种设计模式,它允许开发人员通过将对象的依赖关系交给容器管理,从而简化代码的编写和维护。当需要创建一个对象时,容器会自动将它所依赖的其他对象注入到该对象中,而不需要开发人员手动创建和管理这些依赖关系。这样可以降低代码的耦合度,提高代码的可重用性和可维护性。在PHP中,自动依赖注入通常是通过依赖注入容器(如Laravel的容器)来实现的。

上述提到的容器相当于注册树

<?php
namespace app\index\controller;

class Demo1
{
    //可以通过字符串,数值用GET方式来传值到类方法中
    //http://localhost/tp5.1/public/index.php/index/demo1/getname/name/111
    public function getName($name='Wyt')
    {
        return 'Hello'.$name;
    }
    //如果一个类有了命名空间,需要在这个类前加入命名空间路径才算是一个完整的类

    /**
     *  \app\common\Temp $temp  将会触发依赖注入
     * 依赖注入实际上就将一个对象传入到方法中
     */
    public function getMethod(\app\common\Temp $temp)
    {
//        \app\common\Temp $temp    等价于
//        $temp = new \app\common\Temp;

        $temp->setName('PHP世界上最好的语言');
        return $temp->getName();
    }
}

 

<?php
namespace app\common;

class Temp
{
    public function __construct($name="Wyt")
    {
        $this->name = $name;
    }
    public function setName($name)
    {
        $this->name = $name;
    }
    public function getName()
    {
        return  '方法是:'.__METHOD__.'属性是:'.$this->name;
    }
}

猜你喜欢

转载自blog.csdn.net/MrWangisgoodboy/article/details/129831375