依赖注入案例
关超2019-05-07 22:53:30256在类中使用new进行实例化,会将多个类的耦合度提升,不利于维护
class Girl{
public function Cooking(){
return '做饭';
}
public function Shopping(){
return '购物';
}
}
//构造方法
class Boy
{
public function __construct(Girl $girl){
$this->girl = $girl;
}
public function getInfo()
{
return '我的女友'.$this->girl->Cooking();
}
}
//将实例化外部对象的语句放在了类的外部
$girl = new Girl;
$boy1 = new Boy1($girl);
echo $boy1->getInfo();
//普通方法
Class Boy1{
public function buy(Girl $girl)
{
return '我的女朋友'.$girl->Shopping();
}
}
$girl = new Girl;
$boy1 = new Boy1();
echo $boy1->buy($girl);