Size: a a a

2020 March 17

AM

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

Д

Дмитрий in Yii Framework 3
ну пусть. решение - регистрировать их в одном месте. всё, что зарегистрировано - обнуляется
источник

AM

Alexander Makarov in Yii Framework 3
типа

$resetter = new Resetter();
$resetter->add($container1);
$resetter->add($container2);

while ($request = $bla->getNextRequest()) {
   // process
   $resetter->reset();
}
источник

AM

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

Д

Дмитрий in Yii Framework 3
можно и так, только спрятать подальше
источник

DS

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

А

Алексей R in Yii Framework 3
можно ещё у репозитория запрашивать выдачу контейнера )
источник

А

Алексей R in Yii Framework 3
Dmitriy S
Не все регистрируется в глобальном контейнере, у каждого модуля есть свой локальный контейнер и внутри модуля у каждого сервиса может быть еще более локальный контейнер
нам надо то их собрать в одном месте только для ресета и всё
источник

Д

Дмитрий in Yii Framework 3
Dmitriy S
Не все регистрируется в глобальном контейнере, у каждого модуля есть свой локальный контейнер и внутри модуля у каждого сервиса может быть еще более локальный контейнер
пусть не всё. конечный юзер пишет, какие зависимости нужно ресетить. можно предоставить возможность декларативно в params.php предоставить массив из зависимостей
источник

Д

Дмитрий in Yii Framework 3
и после реквеста Resetter пробежит по ним и ресетнет
источник

DS

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

А

Алексей R in Yii Framework 3
Dmitriy S
Контейнер не может рисеттится публичным методом, это будет нарушением интерфейса в любом случае, я не просто так предложил спрятать всесеттеры отразработчиков.
у нас уже есть костыль - наследоваться от одного предка
источник

Д

Дмитрий in Yii Framework 3
Dmitriy S
Контейнер не может рисеттится публичным методом, это будет нарушением интерфейса в любом случае, я не просто так предложил спрятать всесеттеры отразработчиков.
как? он же Resetable
источник

Д

Дмитрий in Yii Framework 3
interface ResetableContainer
public function reset();
источник

А

Алексей R in Yii Framework 3
Дмитрий
как? он же Resetable
+
источник

DS

Dmitriy S in Yii Framework 3
Дмитрий
interface ResetableContainer
public function reset();
И можно сбросить в любом месте
источник

Д

Дмитрий in Yii Framework 3
пусть, он же Resetable ;)
источник

DS

Dmitriy S in Yii Framework 3
Дмитрий
пусть, он же Resetable ;)
Короче, это надо на реальном приложении показывать, иначе мне сложно донести мысль)
источник

DS

Dmitriy S in Yii Framework 3
Как по мне, то то, что я предлагаю - это оптимально, оно точно будет работать и точно можно все индивидуально проектировать.
источник

А

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