我想将命令用作
php yii sync anyvar2=anValue anyVar1=anyValue
在控制器中
public function actionIndex(){
echo $anyVar1;
echo $anyVar2;
}
我试过php yii sync [--anyvar2 = anValue, - anyVar1 = anyValue]
答案 0 :(得分:2)
1)如果要设置控制器参数:
class SyncController extends \yii\console\Controller
{
public $anyVar1;
public $anyVar2;
public function options($actionID)
{
return array_merge(parent::options($actionID), [
'anyVar1', 'anyVar2'
]);
}
}
现在你可以像这样设置它们:
php yii sync --anyVar1=aaa --anyVar2=bbb
2)如果你只想将变量作为参数传递:
public function actionIndex($anyVar1, $anyVar2)
{
// ...
}
现在你可以像这样设置它们:
php yii sync aaa bbb
答案 1 :(得分:1)
得到解决方案
何时需要在控制台中传递变量
变量应在公共范围内声明。
变量应在选项功能
中返回例如:
class SyncController extends \yii\console\Controller
{
public $anyVar1;
public $anyVar2;
public function options()
{
return ['anyVar1','anyVar2'];
}
public function actionIndex(){
echo $this->anyVar1."\n";
echo $this->anyVar2."\n";
}
}
在控制台
php yii sync --anyVar2 = 1111 --anyVar1 = 999