Size: a a a

2020 August 09

СП

Сергей Предводителев... in Yii Framework 3
Dmitriy S
У нас раньше не резолвило Reference::to() в массивах, но уже сделали, так что там можно переделать
Но там нужно не просто ID, а с конфигом
источник

DS

Dmitriy S in Yii Framework 3
Сергей Предводителев
Но там нужно не просто ID, а с конфигом
Там надо тесты написать для DynamicReference, я не уверен что оно два одинаковых класса сможет законфижить разными параметрами
источник

AM

Alexander Makarov in Yii Framework 3
Сейчас по факту у нас косяк с определением интерфейса.
источник

AM

Alexander Makarov in Yii Framework 3
И решение либо убить DynamicReference либо убить string-тип для ключей.
источник

AM

Alexander Makarov in Yii Framework 3
Нам нужен DynamicReference сам по себе?
источник

А

Алексей R in Yii Framework 3
Сергей Предводителев
Но там нужно не просто ID, а с конфигом
я не стал туда затягивать инжектор в зависимости.. а может стоило бы )
источник

СП

Сергей Предводителев... in Yii Framework 3
Dmitriy S
Там надо тесты написать для DynamicReference, я не уверен что оно два одинаковых класса сможет законфижить разными параметрами
Проверил в лоб, конфижит:

$x = Normalizer::normalize([
 '__class' => TestClass::class,
 'var' => 1,
])->resolve($container);
var_dump($x->var); // 1

$x = Normalizer::normalize([
 '__class' => TestClass::class,
 'var' => 2,
])->resolve($container);
var_dump($x->var); // 2
die;
источник

AM

Alexander Makarov in Yii Framework 3
Ну тогда давайте интерефейс фикснем чтобы string убрать?
источник

А

Алексей R in Yii Framework 3
Сергей Предводителев
Но там нужно не просто ID, а с конфигом
хотя погоди.. там же не в конструкторе конфижит. Не нужна там фабрика
источник

А

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

СП

Сергей Предводителев... in Yii Framework 3
Алексей R
хотя погоди.. там же не в конструкторе конфижит. Не нужна там фабрика
https://github.com/yiisoft/yii-cycle/blob/master/src/Schema/SchemaManager.php#L76-L92

Вот здесь из контейнера получает провайдеры на основании того конфига
источник

А

Алексей R in Yii Framework 3
и юзается withConfig($provider)
источник

СП

Сергей Предводителев... in Yii Framework 3
Алексей R
и юзается withConfig($provider)
Да, я пытался придумать, как избавится от контейнера там)
источник

А

Алексей R in Yii Framework 3
Сергей Предводителев
Да, я пытался придумать, как избавится от контейнера там)
жить мешает? :)
источник

СП

Сергей Предводителев... in Yii Framework 3
Алексей R
жить мешает? :)
Пишут не хорошо это :)
источник

DS

Dmitriy S in Yii Framework 3
Алексей R
{subdomain:www.s|s}ite.ru ? :D
'{subdomain:[a-zA-Z0-9_-]*\.?}site.com'
источник

DS

Dmitriy S in Yii Framework 3
Сергей Предводителев
Проверил в лоб, конфижит:

$x = Normalizer::normalize([
 '__class' => TestClass::class,
 'var' => 1,
])->resolve($container);
var_dump($x->var); // 1

$x = Normalizer::normalize([
 '__class' => TestClass::class,
 'var' => 2,
])->resolve($container);
var_dump($x->var); // 2
die;
А теперь добавть туда
$x = Normalizer::normalize([
 '__class' => TestClass::class,  '
])->resolve($container);
var_dump($x->var);
die;
источник

СП

Сергей Предводителев... in Yii Framework 3
Dmitriy S
А теперь добавть туда
$x = Normalizer::normalize([
 '__class' => TestClass::class,  '
])->resolve($container);
var_dump($x->var);
die;
null
источник

DS

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

DS

Dmitriy S in Yii Framework 3
Ну тогда уберите string в Reference::to и кидайте исключение если это не строка
источник