Laravel artisan 命令 - 更改脚本中的选项?
Posted
技术标签:
【中文标题】Laravel artisan 命令 - 更改脚本中的选项?【英文标题】:Laravel artisan command - Change option in script? 【发布时间】:2018-06-22 21:10:00 【问题描述】:是否可以在 php 文件中更改传递给 Laravel 命令的选项?我尝试了一些类似$this->option('optionName', 'newValue');
的方法,但没有找到解决方案。此外,我不能简单地获取该值并将其设置为一个新变量,因为我正在扩展迁移命令并且需要为此重置选项。确切地说是--path
选项。
【问题讨论】:
如果要扩展它,为什么不覆盖$signature
属性?
创建多租户应用。遍历可用的模式,需要根据当前使用的模式动态更改路径。
【参考方案1】:
从input
接口获取选项。该接口还提供了可以使用的setOption
方法。因此,您可以按如下方式更改选项:
$this->input->setOption('optionName', 'yourValue');
$this->option('optionName'); // Returns 'yourValue'
【讨论】:
【参考方案2】:很抱歉回答我自己的问题,但我找到了适合我的解决方案:
$this->getDefinition()->getOption("optionName")->setDefault("newValue");
由于它只是覆盖默认值,因此它仅在选项未通过 CLI 传递时才有效。如果有人有更好的处理方法,请提供答案!
【讨论】:
以上是关于Laravel artisan 命令 - 更改脚本中的选项?的主要内容,如果未能解决你的问题,请参考以下文章
如何更改 Laravel Artisan CLI PHP 版本?