Php 我应该输入依赖项注入变量吗?
假设类Foo需要类Bar的注入。我应该键入提示方法参数,因为我知道Bar需要是什么,还是不应该键入提示,以防将来Bar发生变化Php 我应该输入依赖项注入变量吗?,php,interface,dependency-injection,design-patterns,Php,Interface,Dependency Injection,Design Patterns,假设类Foo需要类Bar的注入。我应该键入提示方法参数,因为我知道Bar需要是什么,还是不应该键入提示,以防将来Bar发生变化 class Foo { public function __construct( Bar $bar ) { // do something } } 或: 大概,“最好”的答案是让Bar实现一个接口,但我真的觉得创建一个在可预见的将来只有一个扩展类的接口很愚蠢。最佳做法是什么?简单易行的解决方案:现在将typehint输入到栏中,然后创建
class Foo {
public function __construct( Bar $bar ) {
// do something
}
}
或:
大概,“最好”的答案是让Bar实现一个接口,但我真的觉得创建一个在可预见的将来只有一个扩展类的接口很愚蠢。最佳做法是什么?简单易行的解决方案:现在将typehint输入到
栏中,然后创建一个界面并在以后更改typehint。如果您正确地使用重构实践并设计好您的代码,那么更改在以后不会产生任何影响
class Foo {
public function __construct( $bar ) {
// do something
// the wrong class could be passed in here, but I'm also future-proof in case
// another class provides similar functionality to Bar
}
}