Size: a a a

2021 January 26

А

Алексей R in Yii Framework 3
Alexander Makarov
@roxblnfk что если сунуть в композит фабрику? :)
Не прокатит. При повторном запросе в той же сессии создастся новый объект, а не вернётся имеющийся в памяти
источник

Д

Дмитрий in Yii Framework 3
Nex Otaku
Выше смотри, вы обсуждаете конфликты которые возникают от нескольких контейнеров. То есть сам факт существования такой конфигурации уже вносит сложности.
Не в этом проблема.
Проблема в хранении дто в контейнере.
источник

NO

Nex Otaku in Yii Framework 3
По-моему принцип простоты даже в концепции третьей версии записан ) Только жаль что на практике мало используется
источник

NO

Nex Otaku in Yii Framework 3
Дмитрий
Не в этом проблема.
Проблема в хранении дто в контейнере.
*поперхнулся
Зачем DTO-то в контейнере хранить?
источник

Д

Дмитрий in Yii Framework 3
Вот здесь и основная проблема, и это не проблема фреймворка.
источник

NO

Nex Otaku in Yii Framework 3
Задача контейнера во внедрении зависимостей, так? При чём тут DTO?
источник

AB

Alexander Borisov in Yii Framework 3
Алексей R
Не прокатит. При повторном запросе в той же сессии создастся новый объект, а не вернётся имеющийся в памяти
ну это получается уже стейт в контейнере хранить. в одном месте вызвать и наполнить данными, а вдругом - исползовать. магия…
источник

Д

Дмитрий in Yii Framework 3
А контейнер модульный нужен, чтобы можно было подключать модули и делегировать получение зависимостей из других контейнеров:
RootContainer:
 Logger

ModuleAContainer:
 Cache => MemCache


И в классах модуля А понятно, что кеш будет обязательно в памяти, а логгер пусть с уровня приложения подтянется.
Так же любые определения можно "локализовать", если оно того требует. Без алиасов и копи-пасты конфига модуля в конфиг приложения.
источник

А

Алексей R in Yii Framework 3
Alexander Borisov
ну это получается уже стейт в контейнере хранить. в одном месте вызвать и наполнить данными, а вдругом - исползовать. магия…
Вот то то и оно. Если мы будем иметь один плоский контейнер, то нельзя туда будет положить ни реквест ни респонс. А при этом разные штуки могут эти реквесты,респонсы,формы и чего там ещё, языковые настройки,... запрашивать
источник

Д

Дмитрий in Yii Framework 3
Во всех местах использование контейнера не будет никак отличаться:
__construct(ContainerInterface $container)

И т.п.
источник

А

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

ModuleAContainer:
 Cache => MemCache


И в классах модуля А понятно, что кеш будет обязательно в памяти, а логгер пусть с уровня приложения подтянется.
Так же любые определения можно "локализовать", если оно того требует. Без алиасов и копи-пасты конфига модуля в конфиг приложения.
Угу, добавить свой контейнер из модуля и забить на сервис провайдеры это было бы вообще топ для некоторых вопросов
источник

Д

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

А

Алексей R in Yii Framework 3
Дмитрий
Накладно выйдет)
Не так, чтобы очень
источник

AB

Alexander Borisov in Yii Framework 3
Алексей R
Вот то то и оно. Если мы будем иметь один плоский контейнер, то нельзя туда будет положить ни реквест ни респонс. А при этом разные штуки могут эти реквесты,респонсы,формы и чего там ещё, языковые настройки,... запрашивать
ну для этого можно будет отдельные сервисы создавать: RequestStack, UnitOfWork etc. вполне себе имеют стейт
источник

А

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

А

Алексей R in Yii Framework 3
Alexander Borisov
ну для этого можно будет отдельные сервисы создавать: RequestStack, UnitOfWork etc. вполне себе имеют стейт
И куда их?
источник

AB

Alexander Borisov in Yii Framework 3
Ну вот в одном контейнере и держать
источник

А

Алексей R in Yii Framework 3
Alexander Borisov
Ну вот в одном контейнере и держать
Это на рр работать будет?
источник

А

Алексей R in Yii Framework 3
Сервисы ресетить придется. Симфонистайл
источник

AB

Alexander Borisov in Yii Framework 3
Ну cycle на RR же работает
источник