. */ namespace Volkszaehler\View\HTTP; /** * HTTP request * * also used for data * * @author Steffen Vogel * @package http */ class Request { protected $headers; protected $parameters; /** * HTTP request methods * * @link http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html */ protected $method; /** * constructor */ public function __construct() { $this->headers = self::getHeaders(); $this->method = $_SERVER['REQUEST_METHOD']; $this->parameters= array( 'get' => $_GET, 'post' => $_POST, 'cookies' => $_COOKIE, 'files' => $_FILES ); unset($_GET, $_POST, $_COOKIE, $_FILES); } protected static function getHeaders() { if (function_exists('apache_request_headers')) { return apache_request_headers(); } else { $headers = array(); foreach ($_SERVER as $name => $value) { if (substr($name, 0, 5) == 'HTTP_') { $headers[str_replace(' ', '-', ucwords(strtolower(str_replace('_', ' ', substr($name, 5)))))] = $value; } } return $headers; } } /** * setter & getter */ public function getHeader($header) { return $this->headers[$header]; } public function getMethod() { return $this->method; } public function getParameter($name, $method = 'get') { return (isset($this->parameters[$method][$name])) ? $this->parameters[$method][$name] : NULL; } public function getParameters($method = 'get') { return $this->parameters[$method]; } } ?>