/** * @return HttpRequest **/ public static function createFromGlobals() { $request = static::create()->setGet($_GET)->setPost($_POST)->setServer($_SERVER)->setCookie($_COOKIE)->setFiles($_FILES); if (isset($_SESSION)) { $request->setSession($_SESSION); } foreach ($_SERVER as $name => $value) { if (strpos($name, 'HTTP_') === 0) { $name = str_replace('_', '-', substr($name, 5)); $request->setHeaderVar($name, $value); } } if ($request->hasServerVar('CONTENT_TYPE') && $request->getServerVar('CONTENT_TYPE') !== 'application/x-www-form-urlencoded') { $request->setBody(file_get_contents('php://input')); } $request->setMethod(HttpMethod::createByName($request->getServerVar('REQUEST_METHOD'))); return $request; }