我有一个用例,我们使用 Auryn 来连接我们的类,我需要根据参数的值注入不同的配置类。
Auryn 的文档给出了一个注入依赖项的示例:
interface Engine {}
class V8 implements Engine {}
class Car {
private $engine;
public function __construct(Engine $engine) {
$this->engine = $engine;
}
}
$injector = new Auryn\Injector;
// Tell the Injector class to inject an instance of V8 any time
// it encounters an Engine type-hint
$injector->alias('Engine', 'V8');
$car = $injector->make('Car');
var_dump($car instanceof Car); // bool(true)
但如果我也有
class Hybrid implements Engine
我需要根据具体情况确定在 Auryn 产生依赖关系时我是从 Auryn 获得 V8 还是 Hybrid?
这是一个基于 Auryn 文档的人为示例,在实际代码中,该类需要在构造时传递配置。但是基本问题是一样的。