Установка определения впрыска по положению в Auryn Dependency Injector

Как видно из примера Вот

interface Engine {}

class V8 implements Engine {}

class Car {
private $engine;
public function __construct(Engine $engine) {
$this->engine = $engine;
}
}

$injector = new Auryn\Injector;
$injector->define('Car', ['engine' => 'V8']);
$car = $injector->make('Car');

В соответствии $injector->define('Car', ['engine' => 'V8']);, engine буквально основан на имени переменной параметра Carконструктор ($engine).

Там нет проблем с этим, но что, если когда-нибудь, автор Car решил изменить имя переменной параметра своего конструктора на что-то другое (например, public function __construct(Engine $motor))? Это сломало бы инжектор.

Есть ли способ избежать этого, возможно, определить по позиции вместо литеральных имен параметров?

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …