多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
## 参数与选项的区别 * 假如我们要用 Artisan 的 make:command 命令生成一个 HashMD5Command 命令类,并指定命令名为 hash:md5,执行以下命令: ``` $ php artisan make:command HashMD5Command --command=hash:md5 ``` 其中 `HashMD5Command` 就是参数`(argument)`,`--command=hash:md5`就是选项`(option)`。 看一下 make:command 命令的帮助信息,有助于我们更好地理解参数和选项: ![](https://img.kancloud.cn/0d/94/0d94ae847f9ec1e3aa5cb49b98023862_906x568.png) ### 参数和选项的区别 #### 1、输入时的不同 在执行命令时,参数必须严格按定义时的顺序输入,不需输入参数名,只需输入参数的值即可。输入选项则必须带选项名,且选项名前须加 -- 前缀(选项简写字母前加 -),选项可按任意顺序输入。 #### 2、定义方式的不同 参数与选项的定义方式见参考部分给出的链接。 #### 3、可选的不同 参数可以是可选的,但可选参数必须定义在必要参数之后,即以下定义方式是不允许的,可选参数 param2 不能放在必要参数 param3 之前: ``` command:name {param1} {param2?} {param3} ``` 选项天生就是可选的,选项可以不带值,这时它是一个开关选项。选项还可以指定一个简写字母。