Size: a a a

2020 March 19

AM

Alexander Makarov in Yii Framework 3
как оптимизнуть?
источник

А

Алексей R in Yii Framework 3
не разносить на кучу методов. плюс можно уменьшить количество поисков по ключу (хоть это и быстро)
источник

А

Алексей R in Yii Framework 3
методы всё-равно приватные + они на пару строк
источник

А

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

А

Алексей R in Yii Framework 3
я бы методы getInstanceTag, assignInstanceTag, invalidateInstance в get засунул, т.к. они по одному разу вызываются и вся оптимизация как раз между ними будет
источник

А

Алексей R in Yii Framework 3
ну и это @yiiliveext наверное просто ещё не запушил
источник

DS

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

Д

Дмитрий in Yii Framework 3
Алексей R
ну так можно теперь просто $this->instances = [];
А почему раньше нельзя было ?
источник

DS

Dmitriy S in Yii Framework 3
Алексей R
ну и это @yiiliveext наверное просто ещё не запушил
Что произойдет с объектами в режиме рр в этом случае?
источник

А

Алексей R in Yii Framework 3
Дмитрий
А почему раньше нельзя было ?
была обработка Resetable объектов
источник

А

Алексей R in Yii Framework 3
Dmitriy S
Что произойдет с объектами в режиме рр в этом случае?
тоже самое, что при unset'е элементов штучно )
источник

А

Алексей R in Yii Framework 3
если объект где-то осядет, то он не будет до конца уничтожен. Но в контейнере его уже не будет
источник

DS

Dmitriy S in Yii Framework 3
А если коллектор еще в какую-то переменную был присвоен?
источник

А

Алексей R in Yii Framework 3
Dmitriy S
А если коллектор еще в какую-то переменную был присвоен?
очевидно, он там и останется
источник

DS

Dmitriy S in Yii Framework 3
Алексей R
если объект где-то осядет, то он не будет до конца уничтожен. Но в контейнере его уже не будет
Вот это фигово. Нельзя уничтожить значение в памяти. unset() только удаляет указатель.
источник

А

Алексей R in Yii Framework 3
Dmitriy S
Вот это фигово. Нельзя уничтожить значение в памяти. unset() только удаляет указатель.
ну уничтожается элемент массива
источник

А

Алексей R in Yii Framework 3
и так, возвращаемся к WeakLinkContainer :D
источник

a

artem in Yii Framework 3
Dmitriy S
Вот это фигово. Нельзя уничтожить значение в памяти. unset() только удаляет указатель.
В 8 возможно можно будет) да, в память не возвращается но можно эту память переиспользовать)
источник

А

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

DS

Dmitriy S in Yii Framework 3
artem
В 8 возможно можно будет) да, в память не возвращается но можно эту память переиспользовать)
Пока восьмерку зарелизят, я уже на пенсию выйду)
источник