Size: a a a

2020 April 06

Д

Дмитрий in Yii Framework 3
это normalize, ему здесь самое место
источник

DS

Dmitriy S in Yii Framework 3
Дмитрий
это normalize, ему здесь самое место
Ага, и в конфиге контейнера можно записать MyInterface::class => new ArrayDefinition(MyClass::class, [], ['setName()' => 'Vasya'])
Зашибись возможность
источник

DS

Dmitriy S in Yii Framework 3
В конфиге контейнера должна быть либо строка, либо массив, либо коллейбл, либо референс. Все, остальной мути там быть не должно.
источник

DS

Dmitriy S in Yii Framework 3
А еще можно весело сделать вот так
MyServiceInterface::class => new ArrayDefinition('hernya')

И контейнер это пропустит, а об ошибке ты узнаешь уже при получении сервиса
источник

DS

Dmitriy S in Yii Framework 3
Хотя с массивом тоже проверки не будет.
источник

DS

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

DS

Dmitriy S in Yii Framework 3
А с get() надо подумать. Вопрос в том, нужен ли нам контейнер с несинглтонами.
источник

DS

Dmitriy S in Yii Framework 3
И еще один вопрос по нормализации в set, может ее лучше в методе build делать? Не в каждом запросе используются все дефинишины, а сейчас объект дефинишина создается для каждого.
источник

DS

Dmitriy S in Yii Framework 3
Можно в set сделать validateDefinition только.
источник

Д

Дмитрий in Yii Framework 3
Dmitriy S
А с get() надо подумать. Вопрос в том, нужен ли нам контейнер с несинглтонами.
конечно же нет
источник

Д

Дмитрий in Yii Framework 3
@hiqsol есть мысль отрезать композер от Composer/* зависимостей и парсить всю инфу о пакетах без него.
проблема сейчас в том, что сейчас для rebuild() нужно сделать первичную установку с помощью composer du.
я бы хотел, чтобы можно было делать $builder->build() и не зависить ни от каких композеров.
я хотел написать интеграционный тест, а оно не выходит, потому что нужно под это заводить композер :(
вопрос: ты об этом не думал раньше, или может пробовал уже?
источник

А

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

А

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

Д

Дмитрий in Yii Framework 3
найти что-нибудь $composer = new Composer; $composer->parse($composerJson) :)
источник

А

Алексей R in Yii Framework 3
там в зависимостях композер же есть
источник

Д

Дмитрий in Yii Framework 3
дело в другом. когда делаем composer du, то в плагин прилетает уже композер-апи
а когда делаем php index.php, в котором Builder::rebuild(), то туда уже ничего не летит. здесь уже работа с пакетами закончена, и это очень плохо
источник

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
Дмитрий
дело в другом. когда делаем composer du, то в плагин прилетает уже композер-апи
а когда делаем php index.php, в котором Builder::rebuild(), то туда уже ничего не летит. здесь уже работа с пакетами закончена, и это очень плохо
это да и на этот случай там много костылей )
источник