gpt4 book ai didi

php - PHP OOP中依赖注入(inject)、类型提示和组合的区别

转载 作者:行者123 更新时间:2023-12-02 04:36:08 25 4
gpt4 key购买 nike

我正在尝试学习 PHP OOP 的概念,并且观看了许多有关该主题的视频。在他们中的许多人中,他们展示了一个这样的例子:

class Person
{
private $name;
private $age;
function __construct($name, $age)
{
$this->name = $name;
$this->age = $age;
}

}

class Business
{
private $person;

function __construct(Person $person)
{
$this->person = $person;
}
}

所以问题是,有一次他们将其称为 Dependency Injection ,其他时候他们称之为
它键入提示,第三次他们将其作为 Composition 。那么这个例子究竟代表了什么?你能解释一下它们之间的区别吗?

最佳答案

这是三个不同的东西:

类型提示 是其他两个的工具,包括在声明中键入一个参数:

function cluefull(\Type $instance) {
// I know that $instance is of \Type, I can safely use \Type methods on $instance
}

依赖注入(inject) 依赖于构造函数来定义对象生命周期和正确执行所需的所有依赖项。 Somewhat related talk about dependency injection
class Foo {
private $instance;
public function __construct(\Type $instance) {
$this->instance = $instance;
}
}

作文是一种设计方向,它与它需要操作的实例组成,而不是从它们继承,如果可能的话。因此,它依赖于依赖注入(inject)和类型提示。 More reading on composition

关于php - PHP OOP中依赖注入(inject)、类型提示和组合的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42411163/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com