2016-07-28 82 views
1

如果我想使“嘀”一声控制台论点Laravel 5.2,我只是做:{someArg}与签名语法要求制作控制台选项

我如何在5.2使用控制台命令签名语法“需要”的选项?

在文档中似乎没有提及任何东西。

举例来说,这里是当前签名:

booking:make 
{account : Account ID that owns it.} 
{--name=* : Booking names this can be found under.} 
{--user=* : Any users that have access.} 
{--status=active : If the account should be active to start.} 

在上面的例子中,我将如何做需要的--user--name选择?每个选项至少需要一个值。目前,我用一个简单的IF THEN来检查它。在使用新签名语法之前的旧命令中,我使用了InputOption::VALUE_REQUIRED

+0

你可以举一个* argument *和* option *的例子以及你想要创建的命令的例子吗? – TheFallen

+0

@TheFallen增加了一个例子来澄清。 – eComEvo

+0

我认为这个选项的想法默认是可选的,所以你必须检查是否没有提供选项来输出错误并返回。 – TheFallen

回答

0

您在命令签名中定义的所有参数都是,默认情况下为

这是一个需要用户参数的签名:

protected $signature = 'email:send {user}'; 

如果你想让用户参数可选,你需要做的:

protected $signature = 'email:send {user?}'; 

您也可以提供默认值通过以下方式:

protected $signature = 'email:send {user=bob}'; 

你会发现上面的例子中,并在该文档中一些细节: https://laravel.com/docs/5.2/artisan#command-io

+0

我已经知道如何制作所需的控制台参数。这是关于与控制台选项相同的问题。我添加了额外的细节以帮助澄清。 – eComEvo