Laravel Artisan 命令行:输入数组
Artisan 支持命令接受数组输入的参数或选项,所谓数组输入,即用户在执行命令时,对单个参数,可输入多个空格分隔的值(或选项),这对一次可针对多个目标操作的命令尤其有用,比如一次向多个用户发送邮件。
数组参数
定义语法
email:send {user*}
可以看到,指明一个参数接受数组输入,只需在定义时,在参数名后加个 *
号。需要注意的是,数组参数只能添加在其它参数之后(或者説只有最后一个参数可以定义为数组参数),否则会报错。
执行示例
执行此命令时,user
参数的各输入值按顺序传递给命令行。例如,以下命令会设置 user 的值为 ['foo', 'bar']
:
$ php artisan email:send foo bar
可选数组参数
可以定义数组参数是可选的,定义方式如下:
email:send {user?*}
注意,?
号必须在 *
号前面噢。
数组选项
定义语法
email:send {--id=*}
可以看到,数组选项与数组参数的定义相似,也是添加一个 *
号表示是数组选项。
执行示例
执行此命令时,id
选项的各输入值按顺序传递给命令行。例如,以下命令会设置 id 选项的值为 ['1', '2']
:
$ php artisan email:send --id=1 --id=2