在artisan命令中执行$this->options()
会给我所有现有选项every artisan命令具有:
array (9) [
'debug' => boolean true <---------- from me
'help' => boolean false
'quiet' => boolean false
'verbose' => boolean false
'version' => boolean false
'ansi' => boolean false
'no-ansi' => boolean false
'no-interaction' => boolean false
'env' => null
]
但是我只想得到自己的,在这个例子中:“ debug”。我在这里可以使用任何方法或技巧吗?
为什么我需要那个?我想要一个带有所有选项和参数的工匠“签名”的唯一哈希。如果laravel将来在其默认选项内更改了任何内容,即使我没有更改任何选项,我的哈希也会更改,这很糟糕。
我认为您可以使用以下命令来获取您的特定选项
$this->option("debug")
在深入研究laravel之后,我现在可以回答自己:
$CommandOptions = $this->options();
$LaravelDefaultOptions = $this->getApplication()->getDefinition()->getOptions();
$onlyMyOptions = array_diff_key($CommandOptions,$LaravelDefaultOptions);
dump($onlyMyOptions);