1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183
<?php
/* --------------------------------------------------------------
HttpContext.inc.php 2015-03-12 gm
Gambio GmbH
http://www.gambio.de
Copyright (c) 2015 Gambio GmbH
Released under the GNU General Public License (Version 2)
[http://www.gnu.org/licenses/gpl-2.0.html]
--------------------------------------------------------------
*/
MainFactory::load_class('HttpContextInterface');
/**
* Class HttpContext
*
* @category System
* @package Http
* @subpackage ValueObjects
* @extends HttpContextInterface
*/
class HttpContext implements HttpContextInterface
{
/**
* @var array
*/
protected $serverArray;
/**
* @var array
*/
protected $getArray;
/**
* @var array
*/
protected $postArray;
/**
* @var array
*/
protected $cookieArray;
/**
* @var array
*/
protected $sessionArray;
/**
* Initializes the http context.
*
* @param array $serverArray Usually, the $_SERVER array is passed here.
* @param array $getArray Usually, the $_GET array is passed here.
* @param array $postArray Usually, the $_POST array is passed here.
* @param array $cookieArray Usually, the $_COOKIE array is passed here.
* @param array $sessionArray Usually, the $_SESSION array is passed here.
*/
public function __construct(array $serverArray,
array $getArray,
array $postArray,
array $cookieArray,
array $sessionArray)
{
$this->serverArray = $serverArray;
$this->getArray = $getArray;
$this->postArray = $postArray;
$this->cookieArray = $cookieArray;
$this->sessionArray = $sessionArray;
}
/**
* Returns an item of the $_SERVER array by the given key name.
*
* @param string $keyName Key to determine which value of the $_SERVER array should be returned.
*
* @return array|string|int|double Expected item of $_SERVER array.
*/
public function getServerItem($keyName)
{
if(!array_key_exists($keyName, $this->serverArray))
{
return null;
}
return $this->serverArray[$keyName];
}
/**
* Returns an item of the $_GET array by the given key name.
*
* @param string $keyName Key to determine which value of the $_GET array should be returned.
*
* @return array|string|int|double Expected item of $_GET array.
*/
public function getGetItem($keyName)
{
if(!array_key_exists($keyName, $this->getArray))
{
return null;
}
return $this->getArray[$keyName];
}
/**
* Returns an item of the $_POST array by the given key name.
*
* @param string $keyName Key to determine which value of the $_POST array should be returned.
*
* @return array|string|int|double Expected item of $_POST array.
*/
public function getPostItem($keyName)
{
if(!array_key_exists($keyName, $this->postArray))
{
return null;
}
return $this->postArray[$keyName];
}
/**
* Returns an item of the $_COOKIE array by the given key name.
*
* @param string $keyName Key to determine which value of the $_COOKIE array should be returned.
*
* @return array|string|int|double Expected item of $_COOKIE array.
*/
public function getCookieItem($keyName)
{
if(!array_key_exists($keyName, $this->cookieArray))
{
return null;
}
return $this->cookieArray[$keyName];
}
/**
* Returns an item of the $_SESSION array by the given key name.
*
* @param string $keyName Key to determine which value of the $_SESSION array should be returned.
*
* @return array|string|int|double Expected item of $_SESSION array.
*/
public function getSessionItem($keyName)
{
if(!array_key_exists($keyName, $this->sessionArray))
{
return null;
}
return $this->sessionArray[$keyName];
}
/**
* Returns an array which is equal to the global $_GET variable in an object oriented layer.
*
* @return array Array which is equal to $_GET.
*/
public function getGetArray()
{
return $this->getArray;
}
/**
* Returns an array which is equal to the global $_POST variable in an object oriented layer.
*
* @return array Array which is equal to $_POST.
*/
public function getPostArray()
{
return $this->postArray;
}
}