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

依赖注入的小案例和在类外部实例化类的优势

千 夜2019-04-15 23:47:38276

<?php

class Task1

{

  public function sedan()

  {

    return '轿车';

  }

  public function suv()

  {

    return 'SUV';

  }

}

class Task2

{

  private $favorite = null;


  public function __construct(Task1 $favorite)

  {

    $this->favorite = $favorite;

  }

  public function body1()

  {

    return '我比较喜欢'.$this->favorite->sedan();

  }

  public function body2()

  {

    return '我还是喜欢'.$this->favorite->suv();

  }

}

$task1 = new Task1;

$task2 = new Task2($task1);

echo $task2->body1($task1);

echo '<hr>';

echo $task2->body2($task1);

echo '<hr>';

//本案例使用的是构造方法实现的依赖注入;在类的外部实例化类,不会让类与被引用的类之间产生高度的依赖关系.

最新手记推荐

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

全部回复(0)我要回复

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