Passed
Push — master ( fa28f5...070d6c )
by Jens
02:40
created

Request::__construct()   B

Complexity

Conditions 2
Paths 2

Size

Total Lines 29
Code Lines 21

Duplication

Lines 0
Ratio 0 %

Importance

Changes 4
Bugs 2 Features 1
Metric Value
cc 2
eloc 21
c 4
b 2
f 1
nc 2
nop 0
dl 0
loc 29
rs 8.8571
1
<?php
2
namespace library\cc
3
{
4
	/**
5
	 * Class Request
6
	 * @package library\cc
7
	 */
8
	class Request {
9
10
		/**
11
		 * @var string
12
		 */
13
		public static $subfolders;
14
		/**
15
		 * @var string
16
		 */
17
		public static $requestUri;
18
		/**
19
		 * @var string
20
		 */
21
		public static $relativeUri;
22
		/**
23
		 * @var string
24
		 */
25
		public static $queryString;
26
		/**
27
		 * @var array
28
		 */
29
		public static $requestParameters;
30
		/**
31
		 * @var array
32
		 */
33
		public static $post = array();
34
		/**
35
		 * @var array
36
		 */
37
		public static $get = array();
38
		/**
39
		 * @var array
40
		 */
41
		private $statics = array();
42
43
		/**
44
		 * Request constructor.
45
		 */
46
		public function __construct() 
47
		{
48
			global $rootPath;
49
			
50
			self::$subfolders = '/' . str_replace('//', '/', str_replace(str_replace('\\', '/', $_SERVER['DOCUMENT_ROOT']), "", $rootPath));
51
			self::$subfolders = str_replace('//', '/', self::$subfolders);
52
			self::$requestUri = $_SERVER['REQUEST_URI'];
53
			self::$queryString = $_SERVER['QUERY_STRING'];
54
			if (self::$subfolders === '/') {
55
				self::$relativeUri = str_replace('?' . self::$queryString, '', substr(self::$requestUri,1));
56
			} else {
57
				self::$relativeUri = str_replace('?' . self::$queryString, '', str_replace(self::$subfolders, '', self::$requestUri));
58
			}
59
60
			self::$requestParameters = explode('/', self::$relativeUri);
61
			
62
			self::$get = $_GET;
63
			self::$post = $_POST;
64
			
65
			$this->statics = array(
66
				'subfolders' => self::$subfolders,
67
				'requestUri' => self::$requestUri,
68
				'relativeUri' => self::$relativeUri,
69
				'queryString' => self::$queryString,
70
				'requestParameters' => self::$requestParameters,
71
				'post' => self::$post,
72
				'get' => self::$get
73
			);
74
		}
75
	}
76
}