diff --git a/src/Symfony/Component/HttpFoundation/Request.php b/src/Symfony/Component/HttpFoundation/Request.php index 90e52a913a207..1f26ea593bfe1 100644 --- a/src/Symfony/Component/HttpFoundation/Request.php +++ b/src/Symfony/Component/HttpFoundation/Request.php @@ -405,7 +405,7 @@ public static function create(string $uri, string $method = 'GET', array $parame $queryString = ''; if (isset($components['query'])) { - $qs = HeaderUtils::parseQuery(html_entity_decode($components['query'])); + parse_str(html_entity_decode($components['query']), $qs); if ($query) { $query = array_replace($qs, $query); diff --git a/src/Symfony/Component/HttpFoundation/Tests/RequestTest.php b/src/Symfony/Component/HttpFoundation/Tests/RequestTest.php index 0b9cfefa27699..a1cff9d2fd5fc 100644 --- a/src/Symfony/Component/HttpFoundation/Tests/RequestTest.php +++ b/src/Symfony/Component/HttpFoundation/Tests/RequestTest.php @@ -123,13 +123,14 @@ public function testCreate() $this->assertEquals('test.com', $request->getHttpHost()); $this->assertFalse($request->isSecure()); - $request = Request::create('https://test.com/foo?bar=baz'); - $this->assertEquals('https://test.com/foo?bar=baz', $request->getUri()); + $request = Request::create('https://test.com/foo?foo.bar=baz'); + $this->assertEquals('https://test.com/foo?foo.bar=baz', $request->getUri()); $this->assertEquals('/foo', $request->getPathInfo()); - $this->assertEquals('bar=baz', $request->getQueryString()); + $this->assertEquals('foo.bar=baz', $request->getQueryString()); $this->assertEquals(443, $request->getPort()); $this->assertEquals('test.com', $request->getHttpHost()); $this->assertTrue($request->isSecure()); + $this->assertSame(['foo_bar' => 'baz'], $request->query->all()); $request = Request::create('test.com:90/foo'); $this->assertEquals('http://test.com:90/foo', $request->getUri());