Я запускаю следующую консольную команду:
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
? Это опции в реальном контроллере и, следовательно, открытые свойства этого контроллера (например, Вот).
Можно ли передать эти именованные параметры, то есть установить эти свойства в классе контроллера?
Вы можете использовать пары ключ-значение в списке параметров:
Yii::$app->runAction('template/generate-preview', [
$ID,
$count,
'someoption' => true,
'number' => 1
]);
И не добавляйте --
префиксы к именам параметров, они будут добавлены автоматически.
Других решений пока нет …