我正在运行以下控制台命令:
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
]);
且不要在参数名前添加--
前缀,它们会被自动加在前面