@@ -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,25 +105,25 @@ discard block |
||
105 | 105 | |
106 | 106 | protected function toHiking(array $route) |
107 | 107 | { |
108 | - $this->callOnRoute($route,'before'); |
|
108 | + $this->callOnRoute($route, 'before'); |
|
109 | 109 | |
110 | - if(is_string($route['role'])){ |
|
110 | + if (is_string($route['role'])) { |
|
111 | 111 | $this->Controller($route['role']); |
112 | - $this->callOnRoute($route,'after'); |
|
112 | + $this->callOnRoute($route, 'after'); |
|
113 | 113 | return true; |
114 | 114 | } |
115 | 115 | |
116 | - call_user_func_array($route['role'],$this->getData()['GET']); |
|
116 | + call_user_func_array($route['role'], $this->getData()['GET']); |
|
117 | 117 | |
118 | - $this->callOnRoute($route,'after'); |
|
118 | + $this->callOnRoute($route, 'after'); |
|
119 | 119 | } |
120 | 120 | |
121 | - protected function callOnRoute(array $route,string $state) |
|
121 | + protected function callOnRoute(array $route, string $state) |
|
122 | 122 | { |
123 | - if($route[$state] !== null){ |
|
124 | - if(is_string($route[$state])){ |
|
123 | + if ($route[$state] !== null) { |
|
124 | + if (is_string($route[$state])) { |
|
125 | 125 | $this->Controller($route[$state]); |
126 | - }else{ |
|
126 | + }else { |
|
127 | 127 | $route[$state](); |
128 | 128 | } |
129 | 129 | } |
@@ -77,7 +77,7 @@ discard block |
||
77 | 77 | |
78 | 78 | if( ($this->getProtocol() == 'form') ){ |
79 | 79 | $this->ControllerForm($controller, $method, $data['POST']); |
80 | - }else { |
|
80 | + } else { |
|
81 | 81 | $data = (array_key_exists('data',$data['POST'])) ? json_decode($data['POST']['data'], true) : $data['GET']; |
82 | 82 | call_user_func_array([$controller,$method], $data); |
83 | 83 | } |
@@ -123,7 +123,7 @@ discard block |
||
123 | 123 | if($route[$state] !== null){ |
124 | 124 | if(is_string($route[$state])){ |
125 | 125 | $this->Controller($route[$state]); |
126 | - }else{ |
|
126 | + } else{ |
|
127 | 127 | $route[$state](); |
128 | 128 | } |
129 | 129 | } |
@@ -40,28 +40,28 @@ discard block |
||
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 | } |
50 | 50 | |
51 | 51 | $this->checkTypeRole($walking); |
52 | 52 | |
53 | - $route = [ |
|
54 | - 'url' => $this->prefix.$url, |
|
55 | - 'role' => $walking, |
|
56 | - 'protocol' => $protocol, |
|
53 | + $route = [ |
|
54 | + 'url' => $this->prefix.$url, |
|
55 | + 'role' => $walking, |
|
56 | + 'protocol' => $protocol, |
|
57 | 57 | 'filters' => null, |
58 | 58 | 'where' => null, |
59 | 59 | 'before' => null, |
60 | 60 | 'after' => null, |
61 | 61 | 'group' => self::getInstance()->group |
62 | - ]; |
|
62 | + ]; |
|
63 | 63 | |
64 | - $this->routers[] = $route; |
|
64 | + $this->routers[] = $route; |
|
65 | 65 | |
66 | 66 | return self::getInstance(); |
67 | 67 | } |
@@ -135,7 +135,7 @@ discard block |
||
135 | 135 | |
136 | 136 | $instance->getInstance()->byName($routeName); |
137 | 137 | |
138 | - $currentProtocol = $instance->getInstance()->getProtocol(); |
|
138 | + $currentProtocol = $instance->getInstance()->getProtocol(); |
|
139 | 139 | |
140 | 140 | foreach(array_reverse($instance->getInstance()->routers) as $r => $route){ |
141 | 141 | |
@@ -168,7 +168,7 @@ 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 |
@@ -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 |