2016-08-11 10 views
2

私は次のコンソールコマンドを実行している:Yii2:コンソールコマンドの名前付きパラメータを別のアクションに渡すにはどうすればいいですか?

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

t/genので、これは実際のアクション、私は別のコントローラ/アクションに、それを渡す、またはリダイレクトする必要がtemplate/generate-previewにだけエイリアスです。だから私はこのか:

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

ので番号520と34が渡されますが、どのように私は名前付きパラメータsomeoptionnumberに渡すのですか?それらは実際のコントローラのオプションであり、コントローラの公開プロパティ(hereなど)です。

これらの名前付きパラメータを渡すことは可能ですか?つまり、コントローラクラスのプロパティを設定できますか?

答えて

1

あなたはパラメータリストにキーと値のペアを使用することができます。

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

とパラメータ名に--接頭辞を追加していないが、彼らは自動的に先頭に追加されます。

関連する問題