@@ -4,7 +4,7 @@ discard block |
||
4 | 4 | |
5 | 5 | use Exception; |
6 | 6 | |
7 | -class Router{ |
|
7 | +class Router { |
|
8 | 8 | use Helper, CheckTrait, CheckWhere, DefinitionsTrait; |
9 | 9 | |
10 | 10 | private static $instance = null; |
@@ -21,7 +21,7 @@ discard block |
||
21 | 21 | |
22 | 22 | public static function create(): Router |
23 | 23 | { |
24 | - if(!self::getInstance()->instanced){ |
|
24 | + if (!self::getInstance()->instanced) { |
|
25 | 25 | self::getInstance()->checkConfig(); |
26 | 26 | self::getInstance()->import(ROUTER_CONFIG['path']); |
27 | 27 | self::getInstance()->instanced = true; |
@@ -36,14 +36,14 @@ discard block |
||
36 | 36 | return self::$instance; |
37 | 37 | } |
38 | 38 | |
39 | - public function set($url ,$walking , string $protocol): Router |
|
39 | + public function set($url, $walking, string $protocol): Router |
|
40 | 40 | { |
41 | 41 | $this->lastReturn = null; |
42 | 42 | |
43 | - $url = (substr($url,0,1) !=='/' and strlen($url) > 0) ? "/{$url}" : $url; |
|
43 | + $url = (substr($url, 0, 1) !== '/' and strlen($url) > 0) ? "/{$url}" : $url; |
|
44 | 44 | |
45 | - foreach($this->routers as $key => $value){ |
|
46 | - if( md5($this->prefix . $value['url'] . $value['protocol'] ) === md5( $url . $protocol ) ){ |
|
45 | + foreach ($this->routers as $key => $value) { |
|
46 | + if (md5($this->prefix.$value['url'].$value['protocol']) === md5($url.$protocol)) { |
|
47 | 47 | throw new Exception("There is already a route with the url {$url} and with the {$protocol} protocol configured."); |
48 | 48 | } |
49 | 49 | } |
@@ -66,9 +66,9 @@ discard block |
||
66 | 66 | return self::getInstance(); |
67 | 67 | } |
68 | 68 | |
69 | - public static function group(string $prefix,$callback): Router |
|
69 | + public static function group(string $prefix, $callback): Router |
|
70 | 70 | { |
71 | - self::getInstance()->prefix = (substr($prefix,0,1) !== '/') ? "/{$prefix}" : $prefix; |
|
71 | + self::getInstance()->prefix = (substr($prefix, 0, 1) !== '/') ? "/{$prefix}" : $prefix; |
|
72 | 72 | self::getInstance()->group = sha1(date('d/m/Y h:m:i')); |
73 | 73 | $callback(); |
74 | 74 | self::getInstance()->group = null; |
@@ -79,7 +79,7 @@ discard block |
||
79 | 79 | |
80 | 80 | public static function where(): Router |
81 | 81 | { |
82 | - if(self::getInstance()->lastReturn){ |
|
82 | + if (self::getInstance()->lastReturn) { |
|
83 | 83 | throw new Exception("It is not possible to define parameter tests for groups of routes."); |
84 | 84 | } |
85 | 85 | |
@@ -90,14 +90,14 @@ discard block |
||
90 | 90 | |
91 | 91 | public static function name(string $name): Router |
92 | 92 | { |
93 | - if(self::getInstance()->lastReturn){ |
|
93 | + if (self::getInstance()->lastReturn) { |
|
94 | 94 | throw new Exception("There is no reason to call a {$name} route group."); |
95 | 95 | } |
96 | 96 | |
97 | 97 | $currentRoute = end(self::getInstance()->routers); |
98 | 98 | |
99 | - foreach(self::getInstance()->routers as $key => $value){ |
|
100 | - if(array_key_exists($name, self::getInstance()->routers)){ |
|
99 | + foreach (self::getInstance()->routers as $key => $value) { |
|
100 | + if (array_key_exists($name, self::getInstance()->routers)) { |
|
101 | 101 | throw new Exception("There is already a route with the name {$name} configured."); |
102 | 102 | } |
103 | 103 | } |
@@ -111,15 +111,15 @@ discard block |
||
111 | 111 | |
112 | 112 | private function byName(?string $routName) |
113 | 113 | { |
114 | - if(!is_null($routName)){ |
|
114 | + if (!is_null($routName)) { |
|
115 | 115 | $currentProtocol = $this->getProtocol(); |
116 | 116 | |
117 | 117 | $this->checkName($routName); |
118 | 118 | |
119 | 119 | $route = $this->routers[$routName]; |
120 | 120 | |
121 | - if(!$this->checkProtocol($route['protocol'], $currentProtocol)){ |
|
122 | - throw new Exception('Page not found.',404); |
|
121 | + if (!$this->checkProtocol($route['protocol'], $currentProtocol)) { |
|
122 | + throw new Exception('Page not found.', 404); |
|
123 | 123 | } |
124 | 124 | |
125 | 125 | $this->checkFiltering($route); |
@@ -137,11 +137,11 @@ discard block |
||
137 | 137 | |
138 | 138 | $currentProtocol = $instance->getInstance()->getProtocol(); |
139 | 139 | |
140 | - foreach(array_reverse($instance->getInstance()->routers) as $r => $route){ |
|
140 | + foreach (array_reverse($instance->getInstance()->routers) as $r => $route) { |
|
141 | 141 | |
142 | 142 | $instance->getInstance()->currentRoute = $route; |
143 | 143 | |
144 | - if(!$instance->getInstance()->checkProtocol($route['protocol'], $currentProtocol)){ |
|
144 | + if (!$instance->getInstance()->checkProtocol($route['protocol'], $currentProtocol)) { |
|
145 | 145 | continue; |
146 | 146 | } |
147 | 147 | |
@@ -151,11 +151,11 @@ discard block |
||
151 | 151 | |
152 | 152 | |
153 | 153 | $routs = $instance->getInstance()->explodeRoutes( |
154 | - (substr($route['url'],strlen($route['url'])-1,1) === '/') , $route['url'], |
|
155 | - (substr($_SERVER['REQUEST_URI'],strlen($_SERVER['REQUEST_URI'])-1,1) === '/') , $_SERVER['REQUEST_URI'] |
|
154 | + (substr($route['url'], strlen($route['url'])-1, 1) === '/'), $route['url'], |
|
155 | + (substr($_SERVER['REQUEST_URI'], strlen($_SERVER['REQUEST_URI'])-1, 1) === '/'), $_SERVER['REQUEST_URI'] |
|
156 | 156 | ); |
157 | 157 | |
158 | - if(!$instance->getInstance()->checkToHiking($route, $routs['routeRequest'], $routs['routeLoop'])){ |
|
158 | + if (!$instance->getInstance()->checkToHiking($route, $routs['routeRequest'], $routs['routeLoop'])) { |
|
159 | 159 | continue; |
160 | 160 | } |
161 | 161 | |
@@ -168,18 +168,18 @@ discard block |
||
168 | 168 | |
169 | 169 | $instance->getInstance()->currentRoute = null; |
170 | 170 | |
171 | - throw new Exception('Page not found.',404); |
|
171 | + throw new Exception('Page not found.', 404); |
|
172 | 172 | } |
173 | 173 | |
174 | 174 | public function filter($filters): Router |
175 | 175 | { |
176 | - if($this->lastReturn !== null){ |
|
176 | + if ($this->lastReturn !== null) { |
|
177 | 177 | $currentGroup = end($this->routers)['group']; |
178 | 178 | |
179 | 179 | foreach ($this->routers as $key => $value) { |
180 | 180 | |
181 | - if($value['group'] === $currentGroup){ |
|
182 | - $currentRoute = $this->addFilter($this->routers[$key],$filters); |
|
181 | + if ($value['group'] === $currentGroup) { |
|
182 | + $currentRoute = $this->addFilter($this->routers[$key], $filters); |
|
183 | 183 | $this->routers[$key] = $currentRoute; |
184 | 184 | } |
185 | 185 | |
@@ -188,28 +188,28 @@ discard block |
||
188 | 188 | return $this; |
189 | 189 | } |
190 | 190 | |
191 | - $this->routers[count($this->routers)-1] = $this->addFilter(end($this->routers),$filters); |
|
191 | + $this->routers[count($this->routers)-1] = $this->addFilter(end($this->routers), $filters); |
|
192 | 192 | return $this; |
193 | 193 | } |
194 | 194 | |
195 | 195 | public function before($walking): Router |
196 | 196 | { |
197 | - return $this->setOnRoute($walking,'before'); |
|
197 | + return $this->setOnRoute($walking, 'before'); |
|
198 | 198 | } |
199 | 199 | |
200 | 200 | public function after($walking): Router |
201 | 201 | { |
202 | - return $this->setOnRoute($walking,'after'); |
|
202 | + return $this->setOnRoute($walking, 'after'); |
|
203 | 203 | } |
204 | 204 | |
205 | 205 | private function setOnRoute($walking, string $state): Router |
206 | 206 | { |
207 | - if($this->lastReturn !== null){ |
|
207 | + if ($this->lastReturn !== null) { |
|
208 | 208 | $currentGroup = end($this->routers)['group']; |
209 | 209 | |
210 | 210 | foreach ($this->routers as $key => $value) { |
211 | 211 | |
212 | - if($value['group'] === $currentGroup){ |
|
212 | + if ($value['group'] === $currentGroup) { |
|
213 | 213 | $this->routers[$key][$state] = $walking; |
214 | 214 | } |
215 | 215 | |
@@ -226,18 +226,18 @@ discard block |
||
226 | 226 | |
227 | 227 | public static function addFilter(array $route, $filter): array |
228 | 228 | { |
229 | - if(is_null($route['filters'])){ |
|
229 | + if (is_null($route['filters'])) { |
|
230 | 230 | $route['filters'] = $filter; |
231 | 231 | return $route; |
232 | 232 | } |
233 | 233 | |
234 | 234 | $filters = (is_array($filter)) ? $filter : [0 => $filter]; |
235 | 235 | |
236 | - if(is_array($route['filters'])){ |
|
236 | + if (is_array($route['filters'])) { |
|
237 | 237 | foreach ($route['filters'] as $key => $value) { |
238 | 238 | $filters[] = $value; |
239 | 239 | } |
240 | - }else{ |
|
240 | + }else { |
|
241 | 241 | $filters[] = $route['filters']; |
242 | 242 | } |
243 | 243 |
@@ -4,18 +4,18 @@ discard block |
||
4 | 4 | |
5 | 5 | use Exception; |
6 | 6 | |
7 | -trait CheckWhere{ |
|
7 | +trait CheckWhere { |
|
8 | 8 | |
9 | 9 | protected function checkWhereParam($data) |
10 | 10 | { |
11 | - if(count($data) === 0){ |
|
11 | + if (count($data) === 0) { |
|
12 | 12 | throw new Exception('It is necessary to define a condition to be tested.'); |
13 | 13 | } |
14 | 14 | } |
15 | 15 | |
16 | 16 | protected function checkWhereParams($params) |
17 | 17 | { |
18 | - if(count($params) === 0){ |
|
18 | + if (count($params) === 0) { |
|
19 | 19 | throw new Exception('The route in question has no parameters to be tested.'); |
20 | 20 | } |
21 | 21 | } |
@@ -24,24 +24,24 @@ discard block |
||
24 | 24 | { |
25 | 25 | $pass = true; |
26 | 26 | |
27 | - if(!is_array($route['where'])){ |
|
27 | + if (!is_array($route['where'])) { |
|
28 | 28 | return $pass; |
29 | 29 | } |
30 | 30 | |
31 | - $routeURI = explode('/',$route['url']); |
|
31 | + $routeURI = explode('/', $route['url']); |
|
32 | 32 | $params = []; |
33 | - foreach($routeURI as $p => $part){ |
|
34 | - if(!$this->isParameter($part)){ |
|
33 | + foreach ($routeURI as $p => $part) { |
|
34 | + if (!$this->isParameter($part)) { |
|
35 | 35 | continue; |
36 | 36 | } |
37 | 37 | |
38 | - $param = substr(str_replace('?','',$part),1,-1); |
|
38 | + $param = substr(str_replace('?', '', $part), 1, -1); |
|
39 | 39 | |
40 | - if(array_key_exists($param,$route['where'])){ |
|
40 | + if (array_key_exists($param, $route['where'])) { |
|
41 | 41 | |
42 | 42 | $params[$param] = $route['where'][$param]; |
43 | 43 | |
44 | - if(!preg_match("/^{$params[$param]}$/",$request[$p])){ |
|
44 | + if (!preg_match("/^{$params[$param]}$/", $request[$p])) { |
|
45 | 45 | $pass = false; |
46 | 46 | } |
47 | 47 | } |
@@ -52,7 +52,7 @@ discard block |
||
52 | 52 | |
53 | 53 | protected function isParameter(string $part): bool |
54 | 54 | { |
55 | - return (substr($part,0,1) === '{' && substr($part,-1) === '}'); |
|
55 | + return (substr($part, 0, 1) === '{' && substr($part, -1) === '}'); |
|
56 | 56 | } |
57 | 57 | |
58 | 58 | protected function callWhereAdd($data) |
@@ -62,16 +62,16 @@ discard block |
||
62 | 62 | $data = (count($data) > 1) ? [$data[0] => $data[1]] : $data[0]; |
63 | 63 | |
64 | 64 | $route = end($this->routers); |
65 | - $routeURI = explode('/',$route['url']); |
|
65 | + $routeURI = explode('/', $route['url']); |
|
66 | 66 | $params = []; |
67 | - foreach($routeURI as $part){ |
|
68 | - if(!$this->isParameter($part)){ |
|
67 | + foreach ($routeURI as $part) { |
|
68 | + if (!$this->isParameter($part)) { |
|
69 | 69 | continue; |
70 | 70 | } |
71 | 71 | |
72 | - $param = substr(str_replace('?','',$part),1,-1); |
|
72 | + $param = substr(str_replace('?', '', $part), 1, -1); |
|
73 | 73 | |
74 | - if(array_key_exists($param,$data)){ |
|
74 | + if (array_key_exists($param, $data)) { |
|
75 | 75 | $params[$param] = $data[$param]; |
76 | 76 | } |
77 | 77 | |
@@ -79,7 +79,7 @@ discard block |
||
79 | 79 | |
80 | 80 | $this->checkWhereParams($params); |
81 | 81 | |
82 | - $route['where'] = (is_array($route['where'])) ? array_merge($route['where'],$params) : $params; |
|
82 | + $route['where'] = (is_array($route['where'])) ? array_merge($route['where'], $params) : $params; |
|
83 | 83 | |
84 | 84 | $this->routers[count($this->routers)-1] = $route; |
85 | 85 | } |