Laravel artisan命令 - 脚本中的更改选项?

时间:2018-01-13 17:51:41

标签: php laravel command-line-interface artisan

是否可以在PHP文件中更改传递给Laravel命令的选项?我尝试了一些像var document = app.activeDocument; // Obtain original ruler units prefs. var originalRulerUnits = app.preferences.rulerUnits; // Set the ruler units prefs to pixels. app.preferences.rulerUnits = Units.PIXELS; /** * Resizes canvas removing x number of pixels equally from all sides. * @param {Number} [amountOfPixels=0] - Number of pixels to remove. */ function removePixelsFromAllSides(amountOfPixels) { amountOfPixels = amountOfPixels || 0; document.resizeCanvas( document.width.value - (amountOfPixels * 2), document.height.value - (amountOfPixels * 2), AnchorPosition.MIDDLECENTER ); } // Invoke the function passing in the `amountOfPixels` value. removePixelsFromAllSides(5); // Reset ruler prefs. app.preferences.rulerUnits = originalRulerUnits; 这样的东西,但还没有找到解决方案。此外,我无法简单地获取值并将其设置为新变量,因为我正在扩展迁移命令并需要重置该选项。准确的$this->option('optionName', 'newValue');选项。

2 个答案:

答案 0 :(得分:2)

很抱歉回答了我自己的问题,但我找到了一个适合我案例的解决方案:

$this->getDefinition()->getOption("optionName")->setDefault("newValue");

由于它仅覆盖默认值,因此仅当选项未通过CLI传递时才有效。如果有人有更好的处理方式,请提供答案!

答案 1 :(得分:0)

选项是从 input 接口获取的。该接口还提供了一个可以使用的 setOption 方法。因此,您可以按如下方式更改选项:

$this->input->setOption('optionName', 'yourValue');
$this->option('optionName'); // Returns 'yourValue'