我希望你能帮助我翻译一下 PHP 中的依赖注入,我发现在 Laravel 中有两种方法可以实现。
假设我有一个名为 Foo
的类:
class Foo{
}
现在我有一个名为 Bar
的类,它依赖于 Foo
,因此我可以这样做:
class Bar{
protected $foo;
public function __construct()
{
$this->foo = new Foo();
}
}
但在Laravel中,我遇到了像类型提示和反射这样的术语,使我能够做到这一点:
class Bar{
protected $foo;
public function __construct(Foo $foo)
{
$this->foo = $foo;
}
}
我想要理解的是这两者之间的区别。它们完全相同吗?我应该更喜欢其中的一个吗?
注:我是新手,不确定在问题中是否正确使用了行话。