Laravel artisan 命令 - 更改脚本中的选项?
Laravel artisan command - Change option in script?
是否可以更改传递给 PHP 文件中的 Laravel 命令的选项?我尝试了一些类似 $this->option('optionName', 'newValue');
的方法,但没有找到解决方案。此外,我不能简单地获取值并将其设置为新变量,因为我正在扩展迁移命令并且需要为此重置选项。准确地说是 --path
选项。
很抱歉回答我自己的问题,但我找到了适合我的解决方案:
$this->getDefinition()->getOption("optionName")->setDefault("newValue");
因为它只覆盖默认值,所以它只在选项未通过 CLI 传递时才有效。如果有人有更好的处理方法请提供答案!
选项是从 input
界面中获取的。这个接口还提供了一个可以使用的setOption
方法。因此,您可以按如下方式更改选项:
$this->input->setOption('optionName', 'yourValue');
$this->option('optionName'); // Returns 'yourValue'
是否可以更改传递给 PHP 文件中的 Laravel 命令的选项?我尝试了一些类似 $this->option('optionName', 'newValue');
的方法,但没有找到解决方案。此外,我不能简单地获取值并将其设置为新变量,因为我正在扩展迁移命令并且需要为此重置选项。准确地说是 --path
选项。
很抱歉回答我自己的问题,但我找到了适合我的解决方案:
$this->getDefinition()->getOption("optionName")->setDefault("newValue");
因为它只覆盖默认值,所以它只在选项未通过 CLI 传递时才有效。如果有人有更好的处理方法请提供答案!
选项是从 input
界面中获取的。这个接口还提供了一个可以使用的setOption
方法。因此,您可以按如下方式更改选项:
$this->input->setOption('optionName', 'yourValue');
$this->option('optionName'); // Returns 'yourValue'