如何使用laravel的请求传递参数?

问题描述

目前我们正在 Laravel 中进行单元测试,我刚刚注意到我的同事在下面这行(不过它工作正常)。我在 Laravel 中寻找有关此内容documentation,但找不到。看来我们只是专注于获取 documentation 中的请求输入值。

use Illuminate\Http\Request;
// ...more code here
$request = Request::create('/users/all','GET');

我只是想问如何使用上面的代码行传递参数?有人可以给我一份相关的文档。

解决方法

在这里检查创建函数: https://github.com/symfony/symfony/blob/5cfe73d95419bac1ffdddc4603db7266e428b454/src/Symfony/Component/HttpFoundation/Request.php#L336

如您所见,您可以将参数作为第三个参数传递: 示例:

Request::create('/users/all','GET',['username' => 'admin']);

注意:Laravel 请求扩展了 Symphony Base Request 类

,

create 的第三个参数用于参数数组。 Illuminate\Http\Request 扩展了定义 Symfony\Component\HttpFoundation\Request 方法的 create

public static function create(string $uri,string $method = 'GET',array $parameters = [],array $cookies = [],array $files = [],array $server = [],$content = null)