返回依赖注入小案例...登陆

依赖注入小案例

黄健2019-03-23 14:50:39316
<?php
/**
 * Created by PhpStorm.
 * User: hello word!
 * Date: 2019/3/19
 * Time: 20:27
 */
//依赖注入 ; 把当前依赖的对象以参数的方式注入到当前类中 ;目的是为了防止直接在类中实例化类 的高耦合
class Girl{
    public function can_do(){
        return '会做饭';
    }
}
$girl= new girl;
class Me{
    //在me类中调用girl类,前提是必须有个girl类
    //1构造方法实现依赖注入 需要一个存放对象的容器
    private $cont=null;
    public function __construct(Girl $girl)
    {
        $this->cont=$girl;
    }
    public function me_do(){
        return '我的女朋友会'.$this->cont->can_do();
    }
}
$girls = new Me($girl);
echo $girls->me_do();
//普通方法实现依赖注入
class Meto{
    public function meto_do(Girl $girl){  //前面限定必须是什么的实例
        return '我的女票也是0会'.$girl->can_do();
    }
}
echo '<hr>';
$haha = new Meto;
echo $haha->meto_do($girl);

在类外部实例化的优势是 代码的耦合度很低,以后出现变动只需要修改少量的代码

最新手记推荐

• 用composer安装thinkphp框架的步骤• 省市区接口说明• 用thinkphp,后台新增栏目• 管理员添加编辑删除• 管理员添加编辑删除

全部回复(0)我要回复

暂无评论~
  • 取消回复发送