Php Laravel 5命令-强制选项
我正在尝试编写一个laravel命令,但是我没有强制的选项 我确实理解选项的概念是“可选的”,但我希望有一个命令,可以清楚地知道您要插入哪些输入,并且没有特定的顺序 i、 e。 我想做到这一点,PAR2和PAR 2强制性Php Laravel 5命令-强制选项,php,laravel-5,laravel-artisan,Php,Laravel 5,Laravel Artisan,我正在尝试编写一个laravel命令,但是我没有强制的选项 我确实理解选项的概念是“可选的”,但我希望有一个命令,可以清楚地知道您要插入哪些输入,并且没有特定的顺序 i、 e。 我想做到这一点,PAR2和PAR 2强制性 $command-abc --par1=value1 --par2=value2 而不是: $command-abc value1 value2 到目前为止,这是我使用的签名: protected $signature = 'dst-comparison:analyse
$command-abc --par1=value1 --par2=value2
而不是:
$command-abc value1 value2
到目前为止,这是我使用的签名:
protected $signature = 'dst-comparison:analyse
{--client : Client Name}
{--clientId : Client ID}
{--recordingId : Client Recording ID}
{--CSVFile : Path to the downloaded CSV file from Spotify analytics}
{--dataUpdateTo=null : CSV Data will be truncated from this date onwards}';
遵循Laravel文档()和本指南:覆盖getOptions方法似乎可以达到目的,但对我来说不起作用
/**
* Get the console command options.
*
* @return array
*/
protected function getOptions()
{
return array(
array('client', null, InputOption::VALUE_REQUIRED, 'Client Name'),
array('clientId', null, InputOption::VALUE_REQUIRED, 'Client ID'),
array('recordingId', null, InputOption::VALUE_REQUIRED, 'Client Recording ID'),
array('CSVFile', null, InputOption::VALUE_REQUIRED, 'Path to the downloaded CSV file from Spotify analytics'),
array('dataUpdateTo', null, InputOption::VALUE_OPTIONAL, 'CSV Data will be truncated from this date onwards')
);
}
有什么想法吗?我想你必须自己处理强制性输入。查看各种输出函数
$this->error(…)
,并检查是否提供了所有必要的输入$this->option('client')代码>(按照@Kjell的建议,自己验证选项。正如您所说,选项是可选的。