Size: a a a

2020 July 17

А

Алексей R in Yii Framework 3
invoke(..., [
'params' => [ тут твои значения ]
])
источник

Д

Дмитрий in Yii Framework 3
$injector->invoke([$this, 'test'], ['test','test','test3']);
...
public function test( Container $container,  ...$params ) {
       var_dump($params); die();
}

не пашет
источник

Д

Дмитрий in Yii Framework 3
ааа.
источник

А

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

Д

Дмитрий in Yii Framework 3
ок)
источник

А

Алексей R in Yii Framework 3
если variadic параметр будет типизированным (с классом/интерфейсом), то можно не передавать как именованный параметр и инжектор пропылесосит все неименованные параметры этого класса
источник

Д

Дмитрий in Yii Framework 3
ок. вопрос-то на самом деле был про yii2. методом тыка выяснилось что нельзя в экшене контроллера, где неограниченное колличество параметров сделать так: function actionTest(Request $request, SomeClass $someClass, ...$params) .
источник

А

Алексей R in Yii Framework 3
а в yii2 инжектор юзается?
источник

Д

Дмитрий in Yii Framework 3
ну какой-то с 2.0.36 юзается)
источник

Д

Дмитрий in Yii Framework 3
инжектит в экшены
источник

А

Алексей R in Yii Framework 3
@samdark , что там ижектит в экшены?
источник

Д

Дмитрий in Yii Framework 3
а если я незнаю имя этого ...$params. никак не попытаться передать оставшиеся после резольва зависимостей параметры?
источник

А

Алексей R in Yii Framework 3
там всё по-умному
источник

А

Алексей R in Yii Framework 3
чтобы оставшиеся параметры передались в конце, нужно соблюсти некоторые условия...
variadic параметр не должен быть типизированным
источник

А

Алексей R in Yii Framework 3
поэксперименти. Есть вероятность, что вывалится исключение о том, что ты необъекты шлёшь как неименованные параметры
источник

А

Алексей R in Yii Framework 3
Алексей R
поэксперименти. Есть вероятность, что вывалится исключение о том, что ты необъекты шлёшь как неименованные параметры
да, так и есть
источник

Д

Дмитрий in Yii Framework 3
$injector->invoke([$this, 'test'], [1,2]);
источник

Д

Дмитрий in Yii Framework 3
Invalid argument "0" when calling "test" in "/srv/www/vhosts/yii3app/src/Controller/ProfileController.php" at line 23. Non-interface argument should be named explicitly when passed.
источник

А

Алексей R in Yii Framework 3
да, это InvalidArgumentException вываливается
источник

Д

Дмитрий in Yii Framework 3
ну то-есть я полюбому должен знать имя этого $param
источник