symfony 什么是控制台命令中的getOptions

2ledvvac  于 2023-08-06  发布在  其他
关注(0)|答案(2)|浏览(140)

我正在创建一个命令,并希望获得所有选项,所以我在代码中使用getOptions(),但它总是返回一个空数组。
在做了一些调试之后,我发现这个getOptions方法是在HasParameters trait中定义的,并且总是一个空数组;我想知道它的目的是什么?我在文件里找不到任何关于它的东西。这是Laravel的东西吗?一个是Symfony?

mznpcxlj

mznpcxlj1#

正如你所说,getOptions来自HasParameters,你应该看到HasParametersIlluminate\Console\Concerns命名空间中,所以它是100%的laarvel...
因此,您要使用的内容是:$this->options(),它将返回一个选项数组...

fnx2tebb

fnx2tebb2#

建立指令时,您可以提供参数:

protected $signature = 'app:test {user} {test=} {--force}';

字符串
此签名包含:

  • 参数:user和test=($this->参数('user')和$this->参数('test ='))

例如,php artisan app:test 1 test=mail

  • 选项:强制($this->option('force'))

例如,php artisan app:test 1 test=mail --force
单独获取所有:$this->选项()和$this->参数()

  • upd.如文档所示:*

getArguments()和getOptions()方法是您可以定义命令接收的任何参数或选项的地方。这两种方法都会传回命令数组,这些命令由数组选项的清单描述。
实际上,如果您创建了一些命令,就不必考虑这些函数

相关问题