两种方法依赖注入,构造方法的传参要写在实例中,而普通方法传参在类的函数中
<?php
// 使用构造方法注入
class shenghuo
{
public function gangxiang()
{
return '改变这种一成不变的生活';
}
public function gongzuo()
{
return '换掉现在的工作';
}
}
class shangban
{
public function __construct(shenghuo $shenghuo)
{
$this->shenghuo = $shenghuo;
}
public function xianzhuang()
{
return '我想'.$this->shenghuo->gangxiang();
}
}
$shenghuo=new shenghuo;
$shangban = new shangban($shenghuo);
echo $shangban->xianzhuang();
echo '<hr>';
// 使用普通方法实现依赖注入
class shangban2
{
public function xianzhuang(shenghuo $shenghuo)
{
return '我想'.$shenghuo->gongzuo();
}
}
$shenguo2 = new shenghuo;
$shangban2 = new shangban2;
echo $shangban2-> xianzhuang($shenguo2);