0

在我的项目中使用 Laravel 框架和名为 Tinker 的 REPL,我想将请求对象设置为与通过浏览器发出一些真实 HTTP 请求时相同的状态。

当我使用转储请求时

 dd($request);

我收到很多数据,$request比如标题、表单输入数据等等。

我想$request在 Tinker REPL 中接收相同的数据。

如何从命令行在 Tinker 中模拟 HTTP 请求?

4

2 回答 2

0

您应该能够实例化一个请求对象,然后使用 replace 将一些输入数据放入其中。像这样的东西应该在修补程序中工作......

>> $r = new Illuminate\Foundation\Http\FormRequest()

>> $r->replace(['yada' => 'bla bla bla'])

>> $r->yada

那应该输出bla bla bla。

于 2019-03-18T17:48:59.380 回答
0

请求类有一些方法来启动它,名称从创建开始......并且创建方法允许使用手动给定的参数(如 url、方法和其他可选参数)来启动它:

Illuminate\Foundation\Http\FormRequest::create('http://your-url', 'METHOD', ...)

所以你可以从 REPL 中使用它来玩你的控制器并像你来自某些路线一样启动它们

于 2019-03-19T09:33:46.043 回答