Yii2: Как передать именованные параметры в консольной команде другому действию?

Я запускаю следующую консольную команду:

yii t/gen 520 34 -someoption --number=1

и с тех пор t/gen это просто псевдоним к действию template/generate-preview Мне нужно передать его или перенаправить на другой контроллер / действие. Итак, я делаю это:

Yii::$app->runAction('template/generate-preview', [ $ID, $count ]);

Таким образом, номера 520 и 34 передаются, но как передать именованные параметры someoption а также number? Это опции в реальном контроллере и, следовательно, открытые свойства этого контроллера (например, Вот).

Можно ли передать эти именованные параметры, то есть установить эти свойства в классе контроллера?

2

Решение

Вы можете использовать пары ключ-значение в списке параметров:

Yii::$app->runAction('template/generate-preview', [
$ID,
$count,
'someoption' => true,
'number' => 1
]);

И не добавляйте -- префиксы к именам параметров, они будут добавлены автоматически.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]