这是依赖注入的例子吗?
Is this an example of dependency injection?
考虑以下示例:
class ExampleController
{
public function testOne()
{
$newTestMethod = (new AnotherController)->testTwo();
}
}
正如我们在上面的示例中看到的,我从另一个控制器中的一个控制器获得了新实例。
这段代码是依赖注入的例子吗?
如果答案是肯定的,那么你建议用什么方式来优化上面的代码?
不,不是。依赖注入不过是显式注入依赖。有a look here.
您的代码可能如下所示:
class ExampleController
{
public function testOne(AnotherController $anotherController)
{
$newTestMethod = $anotherController->testTwo();
}
}
这里你必须真正注入依赖才能使用testOne()
,参数是显式的和可重用的。
考虑以下示例:
class ExampleController
{
public function testOne()
{
$newTestMethod = (new AnotherController)->testTwo();
}
}
正如我们在上面的示例中看到的,我从另一个控制器中的一个控制器获得了新实例。
这段代码是依赖注入的例子吗?
如果答案是肯定的,那么你建议用什么方式来优化上面的代码?
不,不是。依赖注入不过是显式注入依赖。有a look here.
您的代码可能如下所示:
class ExampleController
{
public function testOne(AnotherController $anotherController)
{
$newTestMethod = $anotherController->testTwo();
}
}
这里你必须真正注入依赖才能使用testOne()
,参数是显式的和可重用的。