构造方法和普通方法实现依赖注入
飛2019-06-04 13:34:27316 <?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);