abstract:<?php /** * Created by PhpStorm. * User: hello word! * Date: 2019/3/19 * Time: 20:27 */ //依赖注入 ; 把当前依赖的对象以参
<?php /** * Created by PhpStorm. * User: hello word! * Date: 2019/3/19 * Time: 20:27 */ //依赖注入 ; 把当前依赖的对象以参数的方式注入到当前类中 ;目的是为了防止直接在类中实例化类 的高耦合 class Girl{ public function can_do(){ return '会做饭'; } } $girl= new girl; class Me{ //在me类中调用girl类,前提是必须有个girl类 //1构造方法实现依赖注入 需要一个存放对象的容器 private $cont=null; public function __construct(Girl $girl) { $this->cont=$girl; } public function me_do(){ return '我的女朋友会'.$this->cont->can_do(); } } $girls = new Me($girl); echo $girls->me_do(); //普通方法实现依赖注入 class Meto{ public function meto_do(Girl $girl){ //前面限定必须是什么的实例 return '我的女票也是0会'.$girl->can_do(); } } echo '<hr>'; $haha = new Meto; echo $haha->meto_do($girl);
在类外部实例化的优势是 代码的耦合度很低,以后出现变动只需要修改少量的代码
Correcting teacher:查无此人Correction time:2019-03-23 15:17:11
Teacher's summary:完成的不错。依赖注入现在很多编程语言里都有了,学会一种语言,其他的就会想通。继续加油