Size: a a a

2020 March 19

AM

Alexander Makarov in Yii Framework 3
Алексей R
этого мало )
Так, не надо начинать это.
источник

AM

Alexander Makarov in Yii Framework 3
Это уже не смешно. Буксуем на месте реально...
источник

А

Алексей R in Yii Framework 3
ну так давайте уже дело делать а не буксовать
Resetable для сервисов сейчас не необходим. Нафига его тогда выносить? Дебагер ресетить и в индексе можно, не помещая его в ResetableContainer
источник

AM

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

AM

Alexander Makarov in Yii Framework 3
Ну сам по себе ResetableContainer, при этом, не плох
источник

А

Алексей R in Yii Framework 3
проверку на $instance instanceof Resetable можно оставить, а можно убрать, ускорив работу ресета
источник

AM

Alexander Makarov in Yii Framework 3
Он ничего не навязывает сервисам.
источник

Д

Дмитрий in Yii Framework 3
Алексей R
этого мало )
Этого с излишком)
источник

А

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

DS

Dmitriy S in Yii Framework 3
Дмитрий
Почему просто не дропать? Нормальное правило, если выставить это на уровне фреймворка. Дропать контейнер - норм, частично обнулять юзер/вендор сервисы - извращение
Потому что дропать -  это техникак стандартного умирающего приложения. Во-первых рисет сервиса быстрее пересоздания (при тяжелых зависимростях может быть на порядок), во-вторых персоздание продуцирует кучу мусора в памяти, резервируя все новые и новые участки, что добавляет работы сборщику мусора.
источник

А

Алексей R in Yii Framework 3
я уже третий день код не могу начать писать из-за этого флуда )
источник

А

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

DS

Dmitriy S in Yii Framework 3
Alexander Makarov
Ну вот есть у нас 10 пакетов со стейтом. Пара моих, пара Symfony, ещё League, Laminas и просто что-то из packagist.
Если они не поддерживают рисет, то будут пересозданы.
источник

AM

Alexander Makarov in Yii Framework 3
@yiiliveext что насчёт моих вопросов?

1. Есть у нас 10 пакетов со стейтом. Пара моих, пара Symfony, ещё League, Laminas и просто что-то из packagist.  
Все надо ресетнуть. Большинство сервисов final. Что делать?
2. Почему это нельзя сделать без изменения сервиса? То есть по факту вешаемся на событие или прямо в index.php делаем $container->get('service1')->reset();
$container->get('service2')->refresh(); $container->get('service3')->resetState();
источник

Д

Дмитрий in Yii Framework 3
Dmitriy S
Потому что дропать -  это техникак стандартного умирающего приложения. Во-первых рисет сервиса быстрее пересоздания (при тяжелых зависимростях может быть на порядок), во-вторых персоздание продуцирует кучу мусора в памяти, резервируя все новые и новые участки, что добавляет работы сборщику мусора.
Сейчас нет потребности в увеличении производительности. Только гибкость и правильность, производительность наращивается
источник

AM

Alexander Makarov in Yii Framework 3
Dmitriy S
Если они не поддерживают рисет, то будут пересозданы.
Они поддерживают. Но по-своему. Не имплементя интерфейс наш.
источник

AM

Alexander Makarov in Yii Framework 3
Алексей R
скоро буду носить гордое звание "Алексей ни строчки кода"
Отключи нотификации на два часа.
источник

DS

Dmitriy S in Yii Framework 3
Alexander Makarov
@yiiliveext что насчёт моих вопросов?

1. Есть у нас 10 пакетов со стейтом. Пара моих, пара Symfony, ещё League, Laminas и просто что-то из packagist.  
Все надо ресетнуть. Большинство сервисов final. Что делать?
2. Почему это нельзя сделать без изменения сервиса? То есть по факту вешаемся на событие или прямо в index.php делаем $container->get('service1')->reset();
$container->get('service2')->refresh(); $container->get('service3')->resetState();
Ну так в моем варианте так и можно сделать как раз, а втвоем нет. В чем вопрос был?
источник

AM

Alexander Makarov in Yii Framework 3
Сделай что-то, потом вернись почитать-обсудить. Будет так: https://github.com/yiisoft/docs/commits/master... я ж не просто так пропал вчера :)
источник

А

Алексей R in Yii Framework 3
Alexander Makarov
Отключи нотификации на два часа.
так просто вы от меня не избавитесь 😄
источник