Size: a a a

2020 August 31

СП

Сергей Предводителев... in Yii Framework 3
Обычное объединение:
abc + cb = abc

Обратная последовательность:
abc + cb = cba

А нужно получается так:
abc + cb = acb
источник

AM

Alexander Makarov in Yii Framework 3
Roman Tsurkanu
Давайте в материал попробуем
ок
источник

AM

Alexander Makarov in Yii Framework 3
Сергей Предводителев
Обычное объединение:
abc + cb = abc

Обратная последовательность:
abc + cb = cba

А нужно получается так:
abc + cb = acb
Да, но acb можно получить только если разрулить зависимости
источник

AM

Alexander Makarov in Yii Framework 3
или же "обленивить" провайдеры
источник

AM

Alexander Makarov in Yii Framework 3
для этого провайдер явно должен говорить, какие зависимости он регистрирует
источник

AM

Alexander Makarov in Yii Framework 3
а контейнер должен хранить на него ссылки и дёргать его только когда понадобится
источник

СП

Сергей Предводителев... in Yii Framework 3
Нет, я имел в виду только порядок.
[a => 1, b => 1, c => 1]
+
[c => 2, b => 2]
=
[a => 1, c => 2, b => 2]

Сейчас же на последовательность не влияет что там внутри провайдеров.
источник

AM

Alexander Makarov in Yii Framework 3
Сергей Предводителев
Нет, я имел в виду только порядок.
[a => 1, b => 1, c => 1]
+
[c => 2, b => 2]
=
[a => 1, c => 2, b => 2]

Сейчас же на последовательность не влияет что там внутри провайдеров.
Ну так я про это же.
источник

AM

Alexander Makarov in Yii Framework 3
Сейчас мы не знаем что внутри провайдера и запускаем его сразу.
источник

СП

Сергей Предводителев... in Yii Framework 3
Да, так и запускать дальше. Но порядок в каком запускать изменить.
источник

AM

Alexander Makarov in Yii Framework 3
Изменить в зависимости от чего?
источник

СП

Сергей Предводителев... in Yii Framework 3
Alexander Makarov
Изменить в зависимости от чего?
Объединяем два конфига: А и Б.

В итоговом конфиге сейчас порядок такой:
1) Все ключи из массива Б
2) Все ключи из массива А, которых нет в Б.

Я предлагаю сделать чуть сложнее:
1) Ключи из массива А, которых нет в Б.
2) Общие ключи из А и Б в том порядке, в каком они идут в массиве Б.
3) Оставшиеся ключи из массива Б.
источник

СП

Сергей Предводителев... in Yii Framework 3
Хотя это тоже решит лишь некоторые случаи и не закроет проблему полностью...
источник

AM

Alexander Makarov in Yii Framework 3
умгу
источник

Д

Дмитрий in Yii Framework 3
в версии с ReverseBlockMerge::class => new ReverseBlockMerge()
источник

A

A in Yii Framework 3
В Yii3 планируется какой нибудь сериалайзер ?

Чтобы автоматом Entity приводил к JSON объекту ?
источник

Д

Дмитрий in Yii Framework 3
желательно сразу с открытым паролем :)
источник

A

A in Yii Framework 3
Дмитрий
желательно сразу с открытым паролем :)
Это на мой вопрос ?)
источник

СП

Сергей Предводителев... in Yii Framework 3
Цель провайдеров  — просто удобство, сделать в одном месте регистрацию в контейнере классов, объединённых каким-то смыслом?
источник

AM

Alexander Makarov in Yii Framework 3
Дмитрий
в версии с ReverseBlockMerge::class => new ReverseBlockMerge()
Ясно. @predvoditelev правильно озвучил фатальный недостаток :)
источник