Size: a a a

2020 March 03

AM

Alexander Makarov in Yii Framework 3
ок, а https://github.com/yiisoft/di/pull/116/files#diff-00897e77b93946555bcac5b95e73e3a9R51? всё-всё прогонятся через прокси?
источник

DS

Dmitriy S in Yii Framework 3
Это если прокси включен, чтобы автоматом все добавляемые контейнеры оборачивались в прокси. Таким образом можно автоматом дебажить все модули и сервисы которые юзают композитный контейне вместе с родительским(глобальным).  Так делается в модулях. Локальные зависимости в отдельном контейнерере, потом создаем композитный контейнер и добавляем в него глобальный и потом локальный. Таким образом локальные зависимости, которые зависят от глобальных, будут успешно разрешены.
источник

DS

Dmitriy S in Yii Framework 3
Например в модуле есть свой нотифайер и он зависит от глобального MailerInterface, таким образом через композитный контейнер он его получает из локального.
источник

AM

Alexander Makarov in Yii Framework 3
м... в смысле "если"? Там вроде нет флага чтобы прокси выключить...
источник

DS

Dmitriy S in Yii Framework 3
Наличие ContainerProxyInterface::class проверяет в контейнере
источник

DS

Dmitriy S in Yii Framework 3
Прокси - штука опциональная, можно и не включать. Вообще там нужно еще трай кетч поставить на успешное получение прокси.
источник

AM

Alexander Makarov in Yii Framework 3
два в одном.... оооок
источник

AM

Alexander Makarov in Yii Framework 3
А нам 100% нужен delegate lookup или @xepozz триггернулся на неподчищенный readme?
источник

DS

Dmitriy S in Yii Framework 3
Alexander Makarov
А нам 100% нужен delegate lookup или @xepozz триггернулся на неподчищенный readme?
Без него прокси не будет работать, @xepozz просто повезло, я не для него делал)
источник

AM

Alexander Makarov in Yii Framework 3
а, да да
источник

AM

Alexander Makarov in Yii Framework 3
оборачиваемый должен делегировать lookup проксе
источник

DS

Dmitriy S in Yii Framework 3
Угу
источник

AM

Alexander Makarov in Yii Framework 3
вот и нашёлся какой-никакой use-case для https://github.com/yiisoft/di/issues/80
источник

AM

Alexander Makarov in Yii Framework 3
вероятно, сейчас прикрою...
источник

DS

Dmitriy S in Yii Framework 3
А почему Remove, он там был?
источник

AM

Alexander Makarov in Yii Framework 3
да, я его реализовал с самого начала :)
источник

DS

Dmitriy S in Yii Framework 3
А вообще надо убирать публичные модификаторы с методов контейнера set, setMultiple, addProvider и остальных, изменяющих контейнер. Если сильно надо менять контейнер после сборки, то это надо делать через специальный отдельный интерфейс.
источник

AM

Alexander Makarov in Yii Framework 3
согласен
источник

AM

Alexander Makarov in Yii Framework 3
Сейчас это отсмотрю как следует, намёржим и можно будет подчистить...
источник

DS

Dmitriy S in Yii Framework 3
Давай я еще трай-кетч добавлю в композитный контейнер.
источник