Blogger Information
Blog 100
fans 8
comment 2
visits 150170
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
控制器与请求对象的功能与用途,依赖注入的实现原理(构造器与普通方法)--20180523-23:36发布(22日作业)
lilove的博客
Original
805 people have browsed it

个人理解:

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);

运行实例 »

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


Correction status:qualified

Teacher's comments:
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post