Я изо всех сил, чтобы получить зависимость инъекций работать так, как я ожидал -инъекционные параметров в конструктор с PHP-DI
Я пытаюсь внедрить класс, Апи, который должен знать, какой сервер для подключения к для конкретный пользователь. Это означает, что переопределение свойств конструктора в файле конфигурации бесполезно, так как каждому пользователю может потребоваться подключение к другому серверу.
class MyController {
private $api;
public function __construct(Api $api) {
$this->api = $api;
}
}
class Api {
private $userServerIp;
public function __construct($serverip) {
$this->userServerIp = $serverip;
}
}
Как я могу ввести этот класс с правильными параметрами? Можно ли каким-то образом переопределить определение? Есть ли способ получить класс, вызвав контейнер с параметрами?
Чтобы (надеюсь) прояснить - я пытаюсь вызвать контейнер для создания объекта, передавая ему параметры, которые в противном случае были бы в определении.
Привет, - да так в этом определении, все объекты Api будет иметь IP-адрес 127.0.0.1 «» - как я могу назвать контейнер так конкретизирует Апи с другим IP? – PointToPoint
@PointToPoint см. В редакции. Также прочитайте документацию, попробуйте что-нибудь и объясните, что вы пробовали, лучше понять, где вы заблокированы. –