Как пропускать параметры в Контейнере зависимостей Yii2?

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
Аватара пользователя
MarkL
Сообщения: 68
Зарегистрирован: 2017.07.05, 20:37

Как пропускать параметры в Контейнере зависимостей Yii2?

Сообщение MarkL »

Класс UnsavedPurchaseService, имеет следующий конструктор:

Код: Выделить всё

    public function __construct(OrderRepository $orders, Reporter $reporter)
    {
        $this->orders = $orders;
        $this->reporter = $reporter;
    }
OrderRepository конфигурируется контейнером самостоятельно, а Reporter интерфейс, и нужно передать реализацию конкретно под класс UnsavedPurchaseService.

Мне нужно пропустить 1-ый параметр конструктора чтобы Контейнер сконфигурировал его сам, а второй параметр задать явно. Что-то вроде такого:

Код: Выделить всё

$container->set(UnsavedPurchaseService::class, ['', new TelegramReporter($service, $app->params['telegram.developerChat.id'])])
Как это можно сделать?
Аватара пользователя
ElisDN
Сообщения: 5845
Зарегистрирован: 2012.10.07, 10:24
Контактная информация:

Re: Как пропускать параметры в Контейнере зависимостей Yii2?

Сообщение ElisDN »

Код: Выделить всё

$container->set(UnsavedPurchaseService::class, ['reporter' => Instance::of(TelegramReporter::class)]);
Ответить