Size: a a a

2020 June 30

AB

Alexander Borisov in Yii Framework 3
Dmitriy S
Сейчас в пр так и есть, если не в одном не находит, то берем из контейнера модуля, который резолвит через $rootContainer
а можно где-то прочитать про концепцию «контейнер модуля»? ну или посмотреть код
источник

DS

Dmitriy S in Yii Framework 3
Пока только такой пример
источник

В

Виктор in Yii Framework 3
Dmitriy S
1. Не проходит. Пример получаем из контейнера контроллер BlogController, в контейнере модуля его нет, следовательно получаем его из основного и все его зависмости тоже из основного будет разрешены.
Погоди. Разве не говорили раньше, что контейнер модуля не должен ничего знать о существовании чего-либо за пределами себя и вообще быть сферическим в вакууме?
источник

DS

Dmitriy S in Yii Framework 3
Alexander Borisov
как пощупать?
В дебагере прокси и есть декораторами
https://github.com/yiisoft/yii-debug/blob/master/config/params.php#L39
источник

DS

Dmitriy S in Yii Framework 3
В trackedServices можно добвить любой интерфейс и декоратор/прокси будет под него создан автомматически, его назначение - логирование вызовов методов
источник

Д

Дмитрий in Yii Framework 3
Alexander Borisov
Подскажите, в di есть/планируется поддержка декораторов?
Поднимали тему, вроде никто не захотел
источник

DS

Dmitriy S in Yii Framework 3
Виктор
Погоди. Разве не говорили раньше, что контейнер модуля не должен ничего знать о существовании чего-либо за пределами себя и вообще быть сферическим в вакууме?
Наоборот, приложение ничего не должно знать о локальном контейнере модуля.
источник

DS

Dmitriy S in Yii Framework 3
Фактически модуль берет за основу контейнер приложения и делает себе кастомную версию контейнера.
источник

В

Виктор in Yii Framework 3
Может, виноват недосып, но я пока не понимаю, зачем это делать
источник

В

Виктор in Yii Framework 3
Перечитал несколько раз тот самый пример с блогом и не понял, зачем он сделан именно так
источник

АН

Александр Некрасов... in Yii Framework 3
Виктор
Может, виноват недосып, но я пока не понимаю, зачем это делать
наверное чтоб такие как LoggerInterface, EventDispatcherInterface и т.д., тянулись из rootContainer если в модуле их нету
источник

В

Виктор in Yii Framework 3
Александр Некрасов
наверное чтоб такие как LoggerInterface, EventDispatcherInterface и т.д., тянулись из rootContainer если в модуле их нету
Если не создавать локальный контейнер, они так же будут тянуться из основного контейнера приложения
источник

В

Виктор in Yii Framework 3
Почитал историю общения про модули, надо пересмыслить. А пока - пойду к метро.
источник

Д

Дмитрий in Yii Framework 3
Алексей R
я ща читаю перевод с китайского и он даже, на первый взгляд, понятнее, чем с английского
Тоже замечал что он с китайского переводит вообще чуть ли не идеально
источник

T

TradersVE in Yii Framework 3
I really do not understand what is the real use case of an application with a container yii main and secondary container of another implementation are my two cents.
источник

AB

Alexander Borisov in Yii Framework 3
Нашел вот такой репозиторий https://github.com/yiisoft/container-proxy, но на первый взгляд - он лишний…
источник

DS

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

AB

Alexander Borisov in Yii Framework 3
Это я тоже нашел. Но можно было бы обойтись и без этого интерфейса, разве нет? Убрать от туда его и ничего не поменяется.
источник

AB

Alexander Borisov in Yii Framework 3
isActive используется в его же реализации, а withDecoratedServices вообще нигде не используется. Возможно это на данный момент и есть какие-то планы на него*
источник

DS

Dmitriy S in Yii Framework 3
Alexander Borisov
Это я тоже нашел. Но можно было бы обойтись и без этого интерфейса, разве нет? Убрать от туда его и ничего не поменяется.
Он еще где-то юзается, вынесен отдельно, чтобы не тянуть пакет дебагера
источник