批改状态:合格
老师批语:
个人理解:
1.控制器与请求对象的功能与用途:
如果我用一句话来说,控制器就是应答网络请求对象中的数据,并将请求数据进行操作后,将结果返回给请求方的过程中使用的工具。
2. 依赖注入的实现原理:构造方法与普通方法
实现效果:

<?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);点击 "运行实例" 按钮查看在线实例
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号