控制器中实现依赖注入的两种方式

Original 2019-03-26 16:16:39 273
abstract:<?php class Girl { public function work() { return '会做饭'; } }  //依赖注入:将当前依赖的对象  以参数的方式注入到当前的类中 //构造方法实现依赖注入 class Boy { protected $girl&nb
<?php
class Girl
{
	public function work()
	{
		return '会做饭';
	}
} 
//依赖注入:将当前依赖的对象  以参数的方式注入到当前的类中
//构造方法实现依赖注入
class Boy
{
	protected $girl = null;
	public function __construct(Girl $girl)
	{
		$this->girl = $girl;
	}

	public function getInfo()
	{
		return '我的女朋友'.$this->girl->work();
	}
}

$girl = new Girl;
$boy = new Boy($girl);

echo $boy->getInfo();
//普通方法实现依赖注入
class Boy2
{
	public function buy(Girl $girl)
	{
		return '我的女朋友'.$girl->work();
	}
}

$girl = new Girl;
$boy2 = new Boy2;
echo $boy2->buy($girl);
?>


Correcting teacher:天蓬老师Correction time:2019-03-26 16:51:14
Teacher's summary:依赖注入的本质, 是将对象的实例化过程移动到调用类的外部, 然后通过参数的方式注入到当前客户端

Release Notes

Popular Entries