返回构造方法和普通......登陆

构造方法和普通方法实现依赖注入

2019-06-04 13:34:27303
<?php
//依赖注入
class Honor
{
    public function size()
    {
        return '6.1吋屏';
    }
    public function color()
    {
        return '4K高清屏';
    }
}

/**
 * 类的内部不使用new ,方便事后代码的修改;方便代码的梳理;降低代码之间的耦合度。
 * 实现依赖注入的方式:
 * 1.构造方法中实现
 * 2.普通方式中实现
 */
//1. 构造方法依赖注入
class Honor10
{
    private $honor = null;
    public function __construct(Honor $honor)
    {
        $this->honor = $honor;
    }
    public function getInfo()
    {
        return '荣耀10的屏幕是'.$this->honor->size();
    }
}
//实例化外部对象放在类外部
$honor = new Honor;
$honor1 = new Honor10($honor);
echo $honor1->getInfo();
echo '<hr>';

//2.普通方式依赖注入
class Honor20
{
    public function buy(Honor $honor)
    {
        return '荣耀20是'.$honor->color();
    }
}
$honor = new Honor;
$honor2 = new Honor20();
echo $honor2->buy($honor);


最新手记推荐

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

全部回复(0)我要回复

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