Size: a a a

2020 April 08

AM

Alexander Makarov in Yii Framework 3
Dmitriy S
И второй класс через Reference::to()
А чего не все классы через reference?
источник

DS

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

DS

Dmitriy S in Yii Framework 3
Alexander Makarov
А чего не все классы через reference?
Для разнообразия
источник

AM

Alexander Makarov in Yii Framework 3
Дмитрий
@samdark что по композер-плагинским ПР?
К ночи ближе.
источник

AM

Alexander Makarov in Yii Framework 3
Dmitriy S
Ну поменяет стороння библиотека имя параметра - переименуешь в конфиге. А если местами переставит, то как ты сейчас это решать будешь? Тоже сломается.
Местами - это ожидаемый слом.
источник

DS

Dmitriy S in Yii Framework 3
Первый на автомате должен заинжектится, а второй конкретным инстансом
источник

DS

Dmitriy S in Yii Framework 3
Вот тебе реальный конструктор, на котором я и задался вопросом об именованных параметрах
источник

DS

Dmitriy S in Yii Framework 3
А вот тебе реальный кейс с ним
'__construct' => ['path' => Reference::to('mailerPath')]
//container config
'mailerPath' => function () use ($params) {
   return $params['mailerPath'];
}
''
источник

А

Алексей R in Yii Framework 3
во нафлудили...
источник

А

Алексей R in Yii Framework 3
а билдеры как в php-di не канают?
источник

А

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

А

Алексей R in Yii Framework 3
источник

DS

Dmitriy S in Yii Framework 3
Алексей R
а билдеры как в php-di не канают?
Я, кстати, придумал как можно убрать рефлексию в контейнере)
источник

А

Алексей R in Yii Framework 3
заменить методами, которые под капотом юзают рефлексию?
источник

DS

Dmitriy S in Yii Framework 3
Алексей R
заменить методами, которые под капотом юзают рефлексию?
Нет, кешировать отрезолвленные зависимости в памяти, думаю так быстрее будет чем рефлексия)
источник

DS

Dmitriy S in Yii Framework 3
Сейчас они хранятся в статическом свойстве ArrayBuilder::dependecies, по событию AfterEmit сохранять их в кеш, а в билдере проверять их наличие там, если есть, то забирать и юзать. Но это все для прода, конечно.
источник

А

Алексей R in Yii Framework 3
@yiiliveext посмотри тогда плз кейсы, которые тестами не покрыты
источник

А

Алексей R in Yii Framework 3
просто Injector ближайший претендент на релиз
источник

Д

Дмитрий in Yii Framework 3
Dmitriy S
Сейчас они хранятся в статическом свойстве ArrayBuilder::dependecies, по событию AfterEmit сохранять их в кеш, а в билдере проверять их наличие там, если есть, то забирать и юзать. Но это все для прода, конечно.
Я бы скрестил это с композер-плагином, чтобы тот в нужном окружении просто тянул отрезолвленный кеш, а не просто конфиг
источник

Д

Дмитрий in Yii Framework 3
Алексей R
@yiiliveext посмотри тогда плз кейсы, которые тестами не покрыты
Мой кейс покрыт?
источник