/** * Creates a default Request based on the current PHP environment superglobals ($_SERVER, $_GET, $_POST, etc). */ public static function extractFromEnvironment() { $getServerVar = function ($key) { return isset($_SERVER[$key]) ? $_SERVER[$key] : null; }; $request = new Request(); $request->setMethod($getServerVar('REQUEST_METHOD')); $request->setRequestUri($getServerVar('REQUEST_URI')); $request->setPostData($_POST); $request->setQueryData($_GET); $request->setEnvironmentData($_SERVER); $request->setCookieData($_COOKIE); $request->setFileData($_FILES); return $request; }
/** * Get a populated request object from PHP Super Globals * ($_SERVER, $_GET, $_POST, $_COOKIES, and $_FILES) * * @return Request */ public static function populateFromGlobals() { $request = new Request(); if (function_exists('apache_request_headers')) { $request->setRequestHeaders(apache_request_headers()); } $request->setRequestBody(file_get_contents('php://input')); if (isset($_SERVER)) { $request->setUserAgent($_SERVER['HTTP_USER_AGENT']); $request->setQueryString($_SERVER['QUERY_STRING']); $request->setRemoteAddr($_SERVER['REMOTE_ADDR']); $request->setRequestMethod($_SERVER['REQUEST_METHOD']); $request->setRequestUri($_SERVER['REQUEST_URI']); $request->setRequestTime($_SERVER['REQUEST_TIME']); $request->setRequestEndPoint($_SERVER['SCRIPT_NAME']); } $supersSet = array('get' => $_GET, 'post' => $_POST, 'cookie' => $_COOKIE, 'files' => $_FILES); foreach ($supersSet as $container => $supers) { if (isset($supers) && is_array($supers)) { foreach ($supers as $key => $value) { $request->setRequestVar($container, $key, $value); } } } return $request; }