如何在Laravel以编程的方式实现交互?

我想用编程的方式实现Artisan交互,就好像下图这样,在命令行需要输入两个yes,但是用编程的模式是怎么实现的呢?求指教!

32989f69cb1e882e19535705f060377.png

我这边的代码

Artisan::call( 'backup:restore', [
   '--backup' => $filename,
] );

这样的话,会弹出错误

image.png

阅读 1.2k
2 个回答

这个包的命令做了非交互式时的处理,你可以再加一个 -n 或者 --no-interaction 就可以了。

password 默认会从 --password 选项获取,如果没有设置,但在非交互式下,就会自动从 config('backup.backup.password') 获取。

第二个确认,它的默认值是 true ,所以也可以直接过去了。

Artisan::call( 'backup:restore', [
   '--backup' => $filename,
   '--no-interaction' => true,
]);
新手上路,请多包涵

在 artisan 可以使用 $this->confirm('Do you wish to continue?') 的方式来进行交互式输入的操作确认。

laravel 的文档中有相关介绍

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题