Laravel Artisan 命令行:设定命令选项 1 个改进

设定命令选项

通常一个命令,除了参数,还可以有选项,顾名思义,选项对于用户来说总是可选的(可输可不输),用户在输入命令时,选项是以选项名前加两个连字符(--,如果设置了简写字母,则只要加一个-)来表示的,且因为指定了选项名,所以指定选项的顺序是无关紧要的。

定义语法

选项定义语法与参数定义语法的区别在于,选项名前要加两个连字符(--):

{--选项名}

上面是定义一个不带值的选项的语法。不带值的选项是个开关选项,如果用户输入命令时带有该选项,则该选项的值为 true, 否则为 false。如果要求用户必须为选项指定值,则需在定义时在选项名后加个 =号:

{--选项名=}

可以为选项设置默认值,如果用户没有传递选项值,则使用设定的默认值:

{--选项名=默认值}

选项名简写,可以给完整选项名指定一个简写字母,两者之间以 | 分隔,在执行命令时,只要在简写字母前加一个 - 即可:

{--简写字母|选项名}

选项说明:

{--选项名 : 选项说明}

注意:分隔 选项名选项说明 的冒号两边必须加空格;

命令类中设定命令选项

在命令类中,命令选项与命令名、命令参数都是在 signature 属性中设置的。

protected $signature = 'command:name {param} {--O|option}';

闭包命令中设定命令选项

在闭包命令中,命令选项与命令名、命令参数都是在 Artisan::command 方法的第一个参数中设置的。

Artisan::command('command:name {param} {--O|option}', function ($param, $option) {

});

参考

本文为 Wiki 文章,邀您参与纠错、纰漏和优化
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!