Symfony请求参数:createFromGlobals与注入请求

Symfony请求参数:createFromGlobals与注入请求,symfony,Symfony,我已经分配了一个项目,在一个控制器操作中,$request变量由以下内容填充: $request=request::createFromGlobals() 后跟正在查找的实际值: $token=$request->get(“访问令牌”) 但是,在为此编写测试用例时(以前没有): $request->get(“访问令牌”)返回null。相反,当我将其更改为将请求注入操作validateTokenAction(Request$Request)时,它工作正常并返回实际值 在线查找()看起来像是Requ

我已经分配了一个项目,在一个控制器操作中,
$request
变量由以下内容填充:

$request=request::createFromGlobals()

后跟正在查找的实际值:

$token=$request->get(“访问令牌”)

但是,在为此编写测试用例时(以前没有):

$request->get(“访问令牌”)
返回
null
。相反,当我将其更改为将请求注入操作
validateTokenAction(Request$Request)
时,它工作正常并返回实际值

在线查找()看起来像是
Request::createFromGlobals
应该可以用来获取传递的参数。那为什么不呢?这两种方法之间有区别吗


另外,应用程序的实际功能(令牌验证等)运行良好;这似乎只发生在测试用例中。

有时,即使是公认的答案也不正确。在symfony应用程序的上下文中,我想不出在app.php之外使用Request::createFromGlobals()的任何有效理由。您可以深入研究代码,了解测试用例不工作的原因。如果您打算长期使用symfony框架,那么这样做是值得的。有时,即使是公认的答案也是不正确的。在symfony应用程序的上下文中,我想不出在app.php之外使用Request::createFromGlobals()的任何有效理由。您可以深入研究代码,了解测试用例不工作的原因。如果您打算长期使用symfony框架,那么这样做实际上是值得的。
$client = static::createClient();

$client->request(
    'GET',
    '/validate',
    [
        'access_token' => $responseData['access_token']
    ]
);