Yii2控制台命令传递带有名称的参数

Yas*_*ath 2 yii2

我想使用命令作为

php yii sync anyvar2=anValue  anyVar1=anyValue
Run Code Online (Sandbox Code Playgroud)

在控制器中

 public function actionIndex(){
       echo $anyVar1;
       echo $anyVar2;
   }
Run Code Online (Sandbox Code Playgroud)

我尝试了php yii sync [--anyvar2 = anValue,-anyVar1 = anyValue]

Biz*_*ley 5

1)如果要设置控制器参数:

class SyncController extends \yii\console\Controller
{
    public $anyVar1;
    public $anyVar2;

    public function options($actionID)
    {
        return array_merge(parent::options($actionID), [
            'anyVar1', 'anyVar2'
        ]);
    }
}
Run Code Online (Sandbox Code Playgroud)

现在,您可以像这样设置它们:

php yii sync --anyVar1=aaa --anyVar2=bbb
Run Code Online (Sandbox Code Playgroud)

2)如果您只想将变量作为参数传递:

public function actionIndex($anyVar1, $anyVar2)
{
    // ...
}
Run Code Online (Sandbox Code Playgroud)

现在,您可以像这样设置它们:

php yii sync aaa bbb
Run Code Online (Sandbox Code Playgroud)