При изменении аргумента на "eps=0.000001" все работает как надо, и я пришел к выводу, что это Yii2 как то препятствует использованию аргументов, начинающихся с "--". Но мне необходимо использовать аргумент, начинающийся с "--", подскажите, как это можно сделать?"Error: Unknown option: --eps"
Аргумент, начинающийся с "--" в консольном приложении
Аргумент, начинающийся с "--" в консольном приложении
При попытке передать в action из консоли аргумент вида "--eps=0.00001" я получаю ошибку:
Re: Аргумент, начинающийся с "--" в консольном приложении
Передайте строкой, в контроллере распарсите
Re: Аргумент, начинающийся с "--" в консольном приложении
Добавить
Код: Выделить всё
public $eps;
Re: Аргумент, начинающийся с "--" в консольном приложении
Куда добавить? Попробовал в качестве свойства класса, но это никак не помогло. Вот мой контроллер.
Код: Выделить всё
class DrillController extends Controller
{
//public $eps; // Пробовал так
public function actionCheck($drillfile, $eps = "--eps=0.0005")
{
try {
$d = new DrillModel;
return $d->CheckDrill($drillfile, $eps);
} catch(\Exception $e) {
echo 'Error :' . $e->getMessage() . "\r\n";
return 200;
}
}
}
path/file.drl --eps=0.000005
Re: Аргумент, начинающийся с "--" в консольном приложении
Код: Выделить всё
class DrillController extends Controller
{
public $eps = 0.0005;
public function actionCheck($drillfile)
{
try {
$d = new DrillModel;
return $d->CheckDrill($drillfile, $this->eps);
} catch(\Exception $e) {
echo 'Error :' . $e->getMessage() . "\r\n";
return 200;
}
}
}
Re: Аргумент, начинающийся с "--" в консольном приложении
Спасибо, разобрался. Только помимо строки надо переопределить класс options:
Код: Выделить всё
public $eps = 0.0005;
Код: Выделить всё
public $eps = 0.0005;
public function options($actionID)
{
return ['eps'];
}