博客列表 >控制器与请求对象的功能与用途,依赖注入的实现原理(构造器与普通方法)--20180523-23:36发布(22日作业)

控制器与请求对象的功能与用途,依赖注入的实现原理(构造器与普通方法)--20180523-23:36发布(22日作业)

lilove的博客
lilove的博客原创
2018年05月24日 00:33:05800浏览

个人理解:

1.控制器与请求对象的功能与用途:

如果我用一句话来说,控制器就是应答网络请求对象中的数据,并将请求数据进行操作后,将结果返回给请求方的过程中使用的工具。


2. 依赖注入的实现原理:构造方法与普通方法

实现效果:

QQ截图20180524002808.png

代码实例与解释:

<?php
/*依赖注入实现方式*/
// 先声明一个类
class Car
{
	public function color() {
		return '白色宝马';
	}
}

// 直接在一个类中实例化另一个类,并调用另一个类的方法虽然可以运行程序,但是禁止的,会高耦合,不利于开发逻辑
// class People
// {
// 	public function xiaoming() {
// 		$car = new Car;
// 		return '小明的'. $car->color();
// 	}
// }
// $people = new People;
// echo $people->xiaoming();

// 正确的方式是用参数传递另一个类的对象(依赖注入)
// 1.构造方法
class Person
{
	private $car;
	//在构造方法里面传入另一个类的对象变量作为参数,注意这里构造方法必须是public方法
	public function __construct(Car $car) {
		$this->car = $car;
	}
	public function xiaohong() {

		return '小红的'. $this->car->color();
	}
}
// 在类外部实例化两个对象,并进行操作
$car = new Car;
$person = new Person($car);
echo $person->xiaohong();

echo '<hr color="red">';

// 2.普通方法
class Person1
{
	// 直接在普通方法中传入参数
	public function xiaogang(Car $car) {
		return '小刚的'. $car->color();
	}
}
// 实例化对象,并操作
$car = new Car;
$person1 = new Person1;
echo $person1->xiaogang($car);

运行实例 »

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


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