@@ -4,7 +4,7 @@ discard block |
||
4 | 4 | |
5 | 5 | use Exception; |
6 | 6 | |
7 | -trait CheckTrait{ |
|
7 | +trait CheckTrait { |
|
8 | 8 | use FilterTrait, CheckWhere; |
9 | 9 | |
10 | 10 | protected function checkProtocol(string $expected, string $current): bool |
@@ -12,21 +12,21 @@ discard block |
||
12 | 12 | return (strtoupper($expected) === strtoupper($current)); |
13 | 13 | } |
14 | 14 | |
15 | - protected function checkName(string $routeName){ |
|
16 | - if(!array_key_exists($routeName,$this->routers)){ |
|
15 | + protected function checkName(string $routeName) { |
|
16 | + if (!array_key_exists($routeName, $this->routers)) { |
|
17 | 17 | throw new Exception('Page not found.', 404); |
18 | 18 | } |
19 | 19 | } |
20 | 20 | |
21 | - protected function checkTypeRole($role){ |
|
22 | - if(!is_string($role) && @get_class($role) !== 'Closure' ){ |
|
21 | + protected function checkTypeRole($role) { |
|
22 | + if (!is_string($role) && @get_class($role) !== 'Closure') { |
|
23 | 23 | throw new Exception("Improperly defined route track."); |
24 | 24 | } |
25 | 25 | } |
26 | 26 | |
27 | 27 | protected function checkConfig() |
28 | 28 | { |
29 | - if(!defined('ROUTER_CONFIG')){ |
|
29 | + if (!defined('ROUTER_CONFIG')) { |
|
30 | 30 | throw new Exception("Information for loading routes has not been defined."); |
31 | 31 | } |
32 | 32 | } |
@@ -38,12 +38,12 @@ discard block |
||
38 | 38 | |
39 | 39 | protected function checkParameters(array $routeLoop, array $routeRequest): bool |
40 | 40 | { |
41 | - foreach($routeLoop as $rr => $param){ |
|
42 | - if( (substr($param,0,1) === '{') ){ |
|
43 | - $_GET[ substr($param,1,strlen($param)-2) ] = $routeRequest[$rr]; |
|
41 | + foreach ($routeLoop as $rr => $param) { |
|
42 | + if ((substr($param, 0, 1) === '{')) { |
|
43 | + $_GET[substr($param, 1, strlen($param)-2)] = $routeRequest[$rr]; |
|
44 | 44 | } |
45 | 45 | |
46 | - if($this->checkParameter($param, $routeRequest[$rr])){ |
|
46 | + if ($this->checkParameter($param, $routeRequest[$rr])) { |
|
47 | 47 | return false; |
48 | 48 | } |
49 | 49 | } |
@@ -52,22 +52,22 @@ discard block |
||
52 | 52 | |
53 | 53 | protected function checkParameter(string $routeLoop, string $routeRequest) |
54 | 54 | { |
55 | - return !( substr($routeLoop,0,1) === '{' ) and $routeLoop !== $routeRequest; |
|
55 | + return !(substr($routeLoop, 0, 1) === '{') and $routeLoop !== $routeRequest; |
|
56 | 56 | } |
57 | 57 | |
58 | 58 | protected function checkRole() |
59 | 59 | { |
60 | - if(!array_key_exists('role', $this->getData()['POST'])){ |
|
60 | + if (!array_key_exists('role', $this->getData()['POST'])) { |
|
61 | 61 | throw new Exception('O servidor não conseguiu identificar a finalidade deste formulário.'); |
62 | 62 | } |
63 | 63 | } |
64 | 64 | |
65 | 65 | protected function hasProtocol(array $route, string $currentProtocol) |
66 | 66 | { |
67 | - $protocols = ( is_array($route['protocol']) ) ? $route['protocol'] : [ $route['protocol'] ]; |
|
67 | + $protocols = (is_array($route['protocol'])) ? $route['protocol'] : [$route['protocol']]; |
|
68 | 68 | |
69 | - foreach($protocols as $protocol){ |
|
70 | - if(strtoupper($protocol) !== strtoupper($currentProtocol)){ |
|
69 | + foreach ($protocols as $protocol) { |
|
70 | + if (strtoupper($protocol) !== strtoupper($currentProtocol)) { |
|
71 | 71 | continue; |
72 | 72 | } |
73 | 73 | } |
@@ -75,9 +75,9 @@ discard block |
||
75 | 75 | |
76 | 76 | protected function checkToHiking($route, $routeRequest, $routeLoop): bool |
77 | 77 | { |
78 | - if($this->checkNumparams($routeLoop, $routeRequest) || |
|
78 | + if ($this->checkNumparams($routeLoop, $routeRequest) || |
|
79 | 79 | !$this->checkParameters($routeLoop, $routeRequest) || |
80 | - !$this->checkWhere($route, $routeRequest)){ |
|
80 | + !$this->checkWhere($route, $routeRequest)) { |
|
81 | 81 | return false; |
82 | 82 | } |
83 | 83 | return true; |
@@ -2,7 +2,7 @@ discard block |
||
2 | 2 | |
3 | 3 | namespace HnrAzevedo\Router; |
4 | 4 | |
5 | -trait Helper{ |
|
5 | +trait Helper { |
|
6 | 6 | use CheckTrait, ControllerTrait; |
7 | 7 | |
8 | 8 | private $currentRoute = null; |
@@ -25,7 +25,7 @@ discard block |
||
25 | 25 | protected function getProtocol(): string |
26 | 26 | { |
27 | 27 | $protocol = ((isset($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest')) ? 'ajax' : 'get'; |
28 | - $protocol = (array_key_existS('HTTP_REQUESTED_METHOD',$_SERVER)) ? strtolower($_SERVER['HTTP_REQUESTED_METHOD']) : $protocol; |
|
28 | + $protocol = (array_key_existS('HTTP_REQUESTED_METHOD', $_SERVER)) ? strtolower($_SERVER['HTTP_REQUESTED_METHOD']) : $protocol; |
|
29 | 29 | |
30 | 30 | return $protocol; |
31 | 31 | } |
@@ -43,18 +43,18 @@ discard block |
||
43 | 43 | protected function import(string $path) |
44 | 44 | { |
45 | 45 | foreach (scandir($path) as $routeFile) { |
46 | - if(pathinfo($path.DIRECTORY_SEPARATOR.$routeFile, PATHINFO_EXTENSION) === 'php'){ |
|
47 | - require_once($path. DIRECTORY_SEPARATOR .$routeFile); |
|
46 | + if (pathinfo($path.DIRECTORY_SEPARATOR.$routeFile, PATHINFO_EXTENSION) === 'php') { |
|
47 | + require_once($path.DIRECTORY_SEPARATOR.$routeFile); |
|
48 | 48 | } |
49 | 49 | } |
50 | 50 | } |
51 | 51 | |
52 | - protected function ControllerForm($controller, string $method, array $values){ |
|
52 | + protected function ControllerForm($controller, string $method, array $values) { |
|
53 | 53 | $this->checkRole(); |
54 | 54 | $method = ($method !== 'method') ? $method : $this->getData()['POST']['role']; |
55 | - $data = (array_key_exists('data',$values)) ? json_decode($values['data'], true) : null; |
|
55 | + $data = (array_key_exists('data', $values)) ? json_decode($values['data'], true) : null; |
|
56 | 56 | |
57 | - call_user_func_array([$controller,$method], $data); |
|
57 | + call_user_func_array([$controller, $method], $data); |
|
58 | 58 | } |
59 | 59 | |
60 | 60 | protected function Controller(string $controll): void |
@@ -62,7 +62,7 @@ discard block |
||
62 | 62 | $data = $this->getData(); |
63 | 63 | |
64 | 64 | foreach ($data['GET'] as $name => $value) { |
65 | - $controll = str_replace('{'.$name.'}',$value,$controll); |
|
65 | + $controll = str_replace('{'.$name.'}', $value, $controll); |
|
66 | 66 | } |
67 | 67 | |
68 | 68 | $this->checkControllsettable($controll); |
@@ -71,30 +71,30 @@ discard block |
||
71 | 71 | |
72 | 72 | $this->checkControllmethod($controll); |
73 | 73 | |
74 | - $controller = ROUTER_CONFIG['controller.namespace'].'\\'. ucfirst(explode(':',$controll)[0]); |
|
74 | + $controller = ROUTER_CONFIG['controller.namespace'].'\\'.ucfirst(explode(':', $controll)[0]); |
|
75 | 75 | $controller = new $controller(); |
76 | - $method = explode(':',$controll)[1]; |
|
76 | + $method = explode(':', $controll)[1]; |
|
77 | 77 | |
78 | - if( ($this->getProtocol() == 'form') ){ |
|
78 | + if (($this->getProtocol() == 'form')) { |
|
79 | 79 | $this->ControllerForm($controller, $method, $data['POST']); |
80 | 80 | }else { |
81 | - $data = (array_key_exists('data',$data['POST'])) ? json_decode($data['POST']['data'], true) : $data['GET']; |
|
82 | - call_user_func_array([$controller,$method], $data); |
|
81 | + $data = (array_key_exists('data', $data['POST'])) ? json_decode($data['POST']['data'], true) : $data['GET']; |
|
82 | + call_user_func_array([$controller, $method], $data); |
|
83 | 83 | } |
84 | 84 | |
85 | 85 | } |
86 | 86 | |
87 | - protected function explodeRoutes(bool $bar, string $url ,bool $bar_, string $url_): array |
|
87 | + protected function explodeRoutes(bool $bar, string $url, bool $bar_, string $url_): array |
|
88 | 88 | { |
89 | - $url = $bar ? substr($url, 0, -1) : $url ; |
|
90 | - $url = explode('/',$url); |
|
89 | + $url = $bar ? substr($url, 0, -1) : $url; |
|
90 | + $url = explode('/', $url); |
|
91 | 91 | |
92 | - $url_ = $bar_ ? substr($url_, 0, -1) : $url_ ; |
|
93 | - $url_ = explode('/',$url_); |
|
92 | + $url_ = $bar_ ? substr($url_, 0, -1) : $url_; |
|
93 | + $url_ = explode('/', $url_); |
|
94 | 94 | |
95 | - foreach($url as $ur => $u){ |
|
96 | - if(substr($u,0,2) === '{?'){ |
|
97 | - if(!array_key_exists($ur,$url_)){ |
|
95 | + foreach ($url as $ur => $u) { |
|
96 | + if (substr($u, 0, 2) === '{?') { |
|
97 | + if (!array_key_exists($ur, $url_)) { |
|
98 | 98 | $url_[$ur] = ''; |
99 | 99 | }; |
100 | 100 | } |
@@ -105,12 +105,12 @@ discard block |
||
105 | 105 | |
106 | 106 | protected function toHiking($walking) |
107 | 107 | { |
108 | - if(is_string($walking)){ |
|
108 | + if (is_string($walking)) { |
|
109 | 109 | $this->Controller($walking); |
110 | 110 | return true; |
111 | 111 | } |
112 | 112 | |
113 | - call_user_func_array($walking,$this->getData()['GET']); |
|
113 | + call_user_func_array($walking, $this->getData()['GET']); |
|
114 | 114 | } |
115 | 115 | |
116 | 116 | } |
@@ -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,21 +24,21 @@ 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(substr($part,0,1) === '{' && substr($part,-1) === '}'){ |
|
35 | - $param = substr(str_replace('?','',$part),1,-1); |
|
33 | + foreach ($routeURI as $p => $part) { |
|
34 | + if (substr($part, 0, 1) === '{' && substr($part, -1) === '}') { |
|
35 | + $param = substr(str_replace('?', '', $part), 1, -1); |
|
36 | 36 | |
37 | - if(array_key_exists($param,$route['where'])){ |
|
37 | + if (array_key_exists($param, $route['where'])) { |
|
38 | 38 | |
39 | 39 | $params[$param] = $route['where'][$param]; |
40 | 40 | |
41 | - if(!preg_match("/^{$params[$param]}$/",$request[$p])){ |
|
41 | + if (!preg_match("/^{$params[$param]}$/", $request[$p])) { |
|
42 | 42 | $pass = false; |
43 | 43 | } |
44 | 44 | } |
@@ -56,13 +56,13 @@ discard block |
||
56 | 56 | $data = (count($data) > 1) ? [$data[0] => $data[1]] : $data[0]; |
57 | 57 | |
58 | 58 | $route = end($this->routers); |
59 | - $routeURI = explode('/',$route['url']); |
|
59 | + $routeURI = explode('/', $route['url']); |
|
60 | 60 | $params = []; |
61 | - foreach($routeURI as $part){ |
|
62 | - if(substr($part,0,1) === '{' && substr($part,-1) === '}'){ |
|
63 | - $param = substr(str_replace('?','',$part),1,-1); |
|
61 | + foreach ($routeURI as $part) { |
|
62 | + if (substr($part, 0, 1) === '{' && substr($part, -1) === '}') { |
|
63 | + $param = substr(str_replace('?', '', $part), 1, -1); |
|
64 | 64 | |
65 | - if(array_key_exists($param,$data)){ |
|
65 | + if (array_key_exists($param, $data)) { |
|
66 | 66 | $params[$param] = $data[$param]; |
67 | 67 | } |
68 | 68 | |
@@ -71,7 +71,7 @@ discard block |
||
71 | 71 | |
72 | 72 | $this->checkWhereParams($params); |
73 | 73 | |
74 | - $route['where'] = (is_array($route['where'])) ? array_merge($route['where'],$params) : $params; |
|
74 | + $route['where'] = (is_array($route['where'])) ? array_merge($route['where'], $params) : $params; |
|
75 | 75 | |
76 | 76 | $this->routers[count($this->routers)-1] = $route; |
77 | 77 | } |
@@ -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,12 +36,12 @@ 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 | - $url = (substr($url,0,1) !=='/' and strlen($url) > 0) ? "/{$url}" : $url; |
|
41 | + $url = (substr($url, 0, 1) !== '/' and strlen($url) > 0) ? "/{$url}" : $url; |
|
42 | 42 | |
43 | - foreach($this->routers as $key => $value){ |
|
44 | - if( md5($this->prefix . $value['url'] . $value['protocol'] ) === md5( $url . $protocol ) ){ |
|
43 | + foreach ($this->routers as $key => $value) { |
|
44 | + if (md5($this->prefix.$value['url'].$value['protocol']) === md5($url.$protocol)) { |
|
45 | 45 | throw new Exception("There is already a route with the url {$url} and with the {$protocol} protocol configured."); |
46 | 46 | } |
47 | 47 | } |
@@ -62,9 +62,9 @@ discard block |
||
62 | 62 | return self::getInstance(); |
63 | 63 | } |
64 | 64 | |
65 | - public static function group(string $prefix,$callback): Router |
|
65 | + public static function group(string $prefix, $callback): Router |
|
66 | 66 | { |
67 | - self::getInstance()->prefix = (substr($prefix,0,1) !== '/') ? "/{$prefix}" : $prefix; |
|
67 | + self::getInstance()->prefix = (substr($prefix, 0, 1) !== '/') ? "/{$prefix}" : $prefix; |
|
68 | 68 | self::getInstance()->group = sha1(date('d/m/Y h:m:i')); |
69 | 69 | $callback(); |
70 | 70 | self::getInstance()->group = null; |
@@ -75,7 +75,7 @@ discard block |
||
75 | 75 | |
76 | 76 | public static function where(): Router |
77 | 77 | { |
78 | - if(self::getInstance()->lastReturn){ |
|
78 | + if (self::getInstance()->lastReturn) { |
|
79 | 79 | throw new Exception("It is not possible to define parameter tests for groups of routes."); |
80 | 80 | } |
81 | 81 | |
@@ -86,14 +86,14 @@ discard block |
||
86 | 86 | |
87 | 87 | public static function name(string $name): Router |
88 | 88 | { |
89 | - if(self::getInstance()->lastReturn){ |
|
89 | + if (self::getInstance()->lastReturn) { |
|
90 | 90 | throw new Exception("There is no reason to call a {$name} route group."); |
91 | 91 | } |
92 | 92 | |
93 | 93 | $currentRoute = end(self::getInstance()->routers); |
94 | 94 | |
95 | - foreach(self::getInstance()->routers as $key => $value){ |
|
96 | - if(array_key_exists($name, self::getInstance()->routers)){ |
|
95 | + foreach (self::getInstance()->routers as $key => $value) { |
|
96 | + if (array_key_exists($name, self::getInstance()->routers)) { |
|
97 | 97 | throw new Exception("There is already a route with the name {$name} configured."); |
98 | 98 | } |
99 | 99 | } |
@@ -109,15 +109,15 @@ discard block |
||
109 | 109 | |
110 | 110 | private function byName(?string $routName) |
111 | 111 | { |
112 | - if(!is_null($routName)){ |
|
112 | + if (!is_null($routName)) { |
|
113 | 113 | $currentProtocol = $this->getProtocol(); |
114 | 114 | |
115 | 115 | $this->checkName($routName); |
116 | 116 | |
117 | 117 | $route = $this->routers[$routName]; |
118 | 118 | |
119 | - if(!$this->checkProtocol($route['protocol'], $currentProtocol)){ |
|
120 | - throw new Exception('Page not found.',404); |
|
119 | + if (!$this->checkProtocol($route['protocol'], $currentProtocol)) { |
|
120 | + throw new Exception('Page not found.', 404); |
|
121 | 121 | } |
122 | 122 | |
123 | 123 | $this->checkFiltering($route); |
@@ -135,11 +135,11 @@ discard block |
||
135 | 135 | |
136 | 136 | $currentProtocol = $instance->getInstance()->getProtocol(); |
137 | 137 | |
138 | - foreach(array_reverse($instance->getInstance()->routers) as $r => $route){ |
|
138 | + foreach (array_reverse($instance->getInstance()->routers) as $r => $route) { |
|
139 | 139 | |
140 | 140 | $instance->getInstance()->currentRoute = $route; |
141 | 141 | |
142 | - if(!$instance->getInstance()->checkProtocol($route['protocol'], $currentProtocol)){ |
|
142 | + if (!$instance->getInstance()->checkProtocol($route['protocol'], $currentProtocol)) { |
|
143 | 143 | continue; |
144 | 144 | } |
145 | 145 | |
@@ -149,11 +149,11 @@ discard block |
||
149 | 149 | |
150 | 150 | |
151 | 151 | $routs = $instance->getInstance()->explodeRoutes( |
152 | - (substr($route['url'],strlen($route['url'])-1,1) === '/') , $route['url'], |
|
153 | - (substr($_SERVER['REQUEST_URI'],strlen($_SERVER['REQUEST_URI'])-1,1) === '/') , $_SERVER['REQUEST_URI'] |
|
152 | + (substr($route['url'], strlen($route['url'])-1, 1) === '/'), $route['url'], |
|
153 | + (substr($_SERVER['REQUEST_URI'], strlen($_SERVER['REQUEST_URI'])-1, 1) === '/'), $_SERVER['REQUEST_URI'] |
|
154 | 154 | ); |
155 | 155 | |
156 | - if(!$instance->getInstance()->checkToHiking($route, $routs['routeRequest'], $routs['routeLoop'])){ |
|
156 | + if (!$instance->getInstance()->checkToHiking($route, $routs['routeRequest'], $routs['routeLoop'])) { |
|
157 | 157 | continue; |
158 | 158 | } |
159 | 159 | |
@@ -166,18 +166,18 @@ discard block |
||
166 | 166 | |
167 | 167 | $instance->getInstance()->currentRoute = null; |
168 | 168 | |
169 | - throw new Exception('Page not found.',404); |
|
169 | + throw new Exception('Page not found.', 404); |
|
170 | 170 | } |
171 | 171 | |
172 | 172 | public static function filter($filters): Router |
173 | 173 | { |
174 | - if(self::getInstance()->lastReturn !== null){ |
|
174 | + if (self::getInstance()->lastReturn !== null) { |
|
175 | 175 | $currentGroup = end(self::getInstance()->routers)['group']; |
176 | 176 | |
177 | 177 | foreach (self::getInstance()->routers as $key => $value) { |
178 | 178 | |
179 | - if($value['group'] === $currentGroup){ |
|
180 | - $currentRoute = self::getInstance()->addFilter(self::getInstance()->routers[$key],$filters); |
|
179 | + if ($value['group'] === $currentGroup) { |
|
180 | + $currentRoute = self::getInstance()->addFilter(self::getInstance()->routers[$key], $filters); |
|
181 | 181 | self::getInstance()->routers[$key] = $currentRoute; |
182 | 182 | } |
183 | 183 | |
@@ -188,24 +188,24 @@ discard block |
||
188 | 188 | return self::getInstance(); |
189 | 189 | } |
190 | 190 | |
191 | - self::getInstance()->routers[count(self::getInstance()->routers)-1] = self::getInstance()->addFilter(end(self::getInstance()->routers),$filters); |
|
191 | + self::getInstance()->routers[count(self::getInstance()->routers)-1] = self::getInstance()->addFilter(end(self::getInstance()->routers), $filters); |
|
192 | 192 | return self::getInstance(); |
193 | 193 | } |
194 | 194 | |
195 | 195 | public static function addFilter(array $route, $filter): array |
196 | 196 | { |
197 | - if(is_null($route['filters'])){ |
|
197 | + if (is_null($route['filters'])) { |
|
198 | 198 | $route['filters'] = $filter; |
199 | 199 | return $route; |
200 | 200 | } |
201 | 201 | |
202 | 202 | $filters = (is_array($filter)) ? $filter : [0 => $filter]; |
203 | 203 | |
204 | - if(is_array($route['filters'])){ |
|
204 | + if (is_array($route['filters'])) { |
|
205 | 205 | foreach ($route['filters'] as $key => $value) { |
206 | 206 | $filters[] = $value; |
207 | 207 | } |
208 | - }else{ |
|
208 | + }else { |
|
209 | 209 | $filters[] = $route['filters']; |
210 | 210 | } |
211 | 211 |