Size: a a a

2021 January 26

А

Алексей R in Yii Framework 3
не проще )
источник

А

Алексей R in Yii Framework 3
как раз будет то, о чём говорит кот
источник

А

Алексей R in Yii Framework 3
ты очистишь то, что где-то зависло
источник

AM

Alexander Makarov in Yii Framework 3
Ну если ты после эмиттера чекаешь пустой или нет, то можно по-простому вместо этого вызвать ->reset()
источник

А

Алексей R in Yii Framework 3
то, у чего ref_count Больше одного
источник

DS

Dmitriy S in Yii Framework 3
Alexander Makarov
Тупо очищаемый контейнер.
И он не будет работать в паре с неочищаемым по той же причине
источник

AM

Alexander Makarov in Yii Framework 3
Залипать будет в $rootContainer?
источник

AM

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

DS

Dmitriy S in Yii Framework 3
Alexander Makarov
Залипать будет в $rootContainer?
Внутри сервисов в этом контейнере
источник

AM

Alexander Makarov in Yii Framework 3
очищаемый -> обычный рут
источник

AM

Alexander Makarov in Yii Framework 3
А, не.
источник

AM

Alexander Makarov in Yii Framework 3
Так фолбечнется.
источник

А

Алексей R in Yii Framework 3
ну не могу я быть настолько тупым. Я всё-равно буду думать, что вы что-то не понимаете, либо я вас не понимаю :)
С weakref мы
1 всегда можем задетектить нежелательный стейт, т.к. он гдето залипнет, а значит и в контейнере тоже.
2 Если что-то гдето залипнет и мы не остановим программу, то мы не потеряем залипший стейт а получим его снова при запросе
источник

А

Алексей R in Yii Framework 3
главное грамотно раскидать по контейнерам
источник

А

Алексей R in Yii Framework 3
сервисы в один, всё остальное в другой
источник

AM

Alexander Makarov in Yii Framework 3
Один контейнер с wek ref мб и будет работать. А вот два где один weak, другой нет — по идее, нет.
источник

А

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

DS

Dmitriy S in Yii Framework 3
Смотри есть необнуляемый контейнер С1 и обнуляемый С2. В С1 есть сервис А, а в С2 сервис Б. Сервис Б есть в конструктора сервиса А. Если ты получил из композитного контейнера сервис А, то он закешируется в С1 и внутри него уже будет экземпляр сервиса Б. Даже если ты очистишь С2, то в С1 останется сервис А со старым экземпляром сервиса Б.
источник

А

Алексей R in Yii Framework 3
не будет такого, что "очистишь"
источник

DS

Dmitriy S in Yii Framework 3
В случае со слабыми ссылками будет то же, только в сервисе А сервис Б превратится в нул.
источник