博客列表 >5.22依赖注入的实现原理(构造器与普通方法)

5.22依赖注入的实现原理(构造器与普通方法)

李洋
李洋原创
2018年05月23日 15:58:221025浏览

依赖注入构造器实现

实例

<?php
 //构造器实现依赖注入

class Teacher{
    public function teach()
    {
        return "授课";
    }

    public function love()
    {
        return "爱学生";
    }
}


class Student{
    protected  $teacher;
    public function __construct(Teacher $teacher)
    {
        $this -> teacher = $teacher;  //把教师这个对象赋给teacher属性
    }
    public function run()
    {
        return "学生被". $this -> teacher -> teach();
    }
}

//实例化教师类
$teacher = new  Teacher();


//实例化学生类
$student = new Student($teacher); //把教师这个对象以参数的方式传到构造方法中,进行初始化

echo  $student -> run(); //调用student类的run方法

运行实例 »

点击 "运行实例" 按钮查看在线实例




依赖注入普通方法实现

实例

<?php
 //依赖注入普通方法实现

class Girl{
    public function love()
    {
        return "爱护我";
    }
}


class Boy{
    public function want(Girl $girl) //此参数必须要是Girl这个类的实力
    {
        return "我想要女朋友" . $girl -> love();
    }
}

//实例化女朋友类
$girl = new Girl();
//实例化男朋友类
$boy = new Boy();
echo $boy -> want($girl); //将女朋友这个对象已参数的方式传入调用的方法中

运行实例 »

点击 "运行实例" 按钮查看在线实例


声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议