Size: a a a

2020 April 04

DS

Dmitriy S in Yii Framework 3
источник

DS

Dmitriy S in Yii Framework 3
Сейчас пока в конструктор, но оно перестанет работать, когда параметр уберу
источник

DS

Dmitriy S in Yii Framework 3
Надо будет менять на фабрику
источник

А

Алексей R in Yii Framework 3
Injector->make 😐
источник

DS

Dmitriy S in Yii Framework 3
Injector->make дублирует функционал фабрики
источник

А

Алексей R in Yii Framework 3
а это зачем?
источник

AM

Alexander Makarov in Yii Framework 3
Весь? :)
источник

DS

Dmitriy S in Yii Framework 3
Алексей R
а это зачем?
То лишнее, я вроде прибрал, ты обновился до последнего?
источник

А

Алексей R in Yii Framework 3
Dmitriy S
То лишнее, я вроде прибрал, ты обновился до последнего?
а ты запушил?
источник

DS

Dmitriy S in Yii Framework 3
Алексей R
а ты запушил?
ща вот запушил, то с прошлой версии осталось
источник

DS

Dmitriy S in Yii Framework 3
источник

DS

Dmitriy S in Yii Framework 3
Переделал и в коллейбл массив на коструктор пока
источник

DS

Dmitriy S in Yii Framework 3
@samdark, а ты что думаешь по такому варинту. Мне кажется, что это разумный компромис
источник

А

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

А

Алексей R in Yii Framework 3
совместить оба пути не хорошо?
источник

DS

Dmitriy S in Yii Framework 3
Алексей R
плюсы: удобно (компактно), гибко, не оседает в контейнере
минусы: создаётся кложура (дорого), не сериализуется, плохо применимо для мидлварей с зависимостями, которые требуется взять из контейнера
минусы:
создаётся кложура (дорого) - не дорого
плохо применимо для мидлварей с зависимостями, которые требуется взять из контейнера - легко
fn () => container->get(MyMiddleware::class, [$pram1, $param2])
источник

DS

Dmitriy S in Yii Framework 3
Но лучше для мидлтварей, которые требуют ручных параметров, писать обертки. Обертка кешируется в контейнере и может переиспользоваться другими мидлтварями. Хороший пример - форматтеры. Вместо new FormatDataResponse(new JsonDataResponseFormatter) используется FormatDataResponseAsJson::class
источник

DS

Dmitriy S in Yii Framework 3
Что еще раз доказывает, что передача параметров - это зло. С параметрами каждый раз нужно создавать новый инстанс. При работе с рр вообще потери будут хорошо заметны.
источник

DS

Dmitriy S in Yii Framework 3
Хотя не, при работе с рр тут норм, стек кешируется целиком.
источник

А

Алексей R in Yii Framework 3
Dmitriy S
Хотя не, при работе с рр тут норм, стек кешируется целиком.
+
источник