@@ -47,11 +47,12 @@ |
||
47 | 47 | */ |
48 | 48 | public function call() |
49 | 49 | { |
50 | - if ($this->response->getStatusCode() == 202) |
|
51 | - $this->setContentType($this->route->getTarget('extension')); |
|
52 | - if (isset($this->route->getTarget('callback')[$this->route->getTarget('extension')])) |
|
53 | - $this->response->setContent(call_user_func_array($this->route->getTarget('callback')[$this->route->getTarget('extension')], [$this->route])); |
|
54 | - else { |
|
50 | + if ($this->response->getStatusCode() == 202) { |
|
51 | + $this->setContentType($this->route->getTarget('extension')); |
|
52 | + } |
|
53 | + if (isset($this->route->getTarget('callback')[$this->route->getTarget('extension')])) { |
|
54 | + $this->response->setContent(call_user_func_array($this->route->getTarget('callback')[$this->route->getTarget('extension')], [$this->route])); |
|
55 | + } else { |
|
55 | 56 | ob_start(); |
56 | 57 | require($this->route->getTarget('template')); |
57 | 58 | $this->response->setContent(ob_get_clean()); |
@@ -118,8 +118,9 @@ discard block |
||
118 | 118 | { |
119 | 119 | if (substr($this->request['route'], -1) == '*') { |
120 | 120 | $pos = strpos($this->request['route'], '*'); |
121 | - if (substr($this->router->route->getUrl(), 0, $pos) == substr($this->request['route'], 0, $pos)) |
|
122 | - if (isset($this->request)) return true; |
|
121 | + if (substr($this->router->route->getUrl(), 0, $pos) == substr($this->request['route'], 0, $pos)) { |
|
122 | + if (isset($this->request)) return true; |
|
123 | + } |
|
123 | 124 | } |
124 | 125 | if (preg_match($regex, $this->router->route->getUrl(), $this->request['parameters'])) { |
125 | 126 | array_shift($this->request['parameters']); |
@@ -134,13 +135,16 @@ discard block |
||
134 | 135 | private function generateTarget() |
135 | 136 | { |
136 | 137 | if($this->validMethod()) { |
137 | - foreach($this->matcher as $match) if(call_user_func([$this,$match])) break; |
|
138 | + foreach($this->matcher as $match) { |
|
139 | + if(call_user_func([$this,$match])) break; |
|
140 | + } |
|
138 | 141 | $index = isset($this->request['collection_index']) ? $this->request['collection_index'] : 0; |
139 | 142 | $this->router->route->addTarget('block',$this->router->collection->getRoutes('block_'.$index)); |
140 | 143 | $this->router->route->addTarget('view_dir',$this->router->collection->getRoutes('view_dir_'.$index)); |
141 | 144 | $this->router->response->setStatusCode(202); |
142 | - }else |
|
143 | - $this->router->response->setStatusCode(405); |
|
145 | + } else { |
|
146 | + $this->router->response->setStatusCode(405); |
|
147 | + } |
|
144 | 148 | return $this->router->route->hasTarget(); |
145 | 149 | } |
146 | 150 | |
@@ -149,14 +153,18 @@ discard block |
||
149 | 153 | */ |
150 | 154 | private function setRoute(){ |
151 | 155 | if (isset($this->request['params'])) { |
152 | - if(is_callable($this->request['params'])) |
|
153 | - $this->router->route->setCallback($this->request['params']); |
|
154 | - else { |
|
156 | + if(is_callable($this->request['params'])) { |
|
157 | + $this->router->route->setCallback($this->request['params']); |
|
158 | + } else { |
|
155 | 159 | (is_array($this->request['params']) && isset($this->request['params']['use'])) |
156 | 160 | ? $this->router->route->setCallback($this->request['params']['use']) |
157 | 161 | : $this->router->route->setCallback($this->request['params']); |
158 | - if (isset($this->request['params']['name'])) $this->router->route->setName($this->request['params']['name']); |
|
159 | - if (isset($this->request['params']['method'])) $this->request['params']['method'] = is_array($this->request['params']['method']) ? $this->request['params']['method'] : [$this->request['params']['method']]; |
|
162 | + if (isset($this->request['params']['name'])) { |
|
163 | + $this->router->route->setName($this->request['params']['name']); |
|
164 | + } |
|
165 | + if (isset($this->request['params']['method'])) { |
|
166 | + $this->request['params']['method'] = is_array($this->request['params']['method']) ? $this->request['params']['method'] : [$this->request['params']['method']]; |
|
167 | + } |
|
160 | 168 | } |
161 | 169 | } |
162 | 170 | $this->router->route->setDetail($this->request); |
@@ -167,9 +175,12 @@ discard block |
||
167 | 175 | */ |
168 | 176 | public function validMethod() |
169 | 177 | { |
170 | - if(is_callable($this->request['params']))return true; |
|
171 | - if (!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') |
|
172 | - return (isset($this->request['params']['ajax']) && $this->request['params']['ajax'] === true) ? true : false; |
|
178 | + if(is_callable($this->request['params'])) { |
|
179 | + return true; |
|
180 | + } |
|
181 | + if (!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') { |
|
182 | + return (isset($this->request['params']['ajax']) && $this->request['params']['ajax'] === true) ? true : false; |
|
183 | + } |
|
173 | 184 | $method = (isset($this->router->route->getDetail()['params']['method'])) ? $this->router->route->getDetail()['params']['method'] : ['GET']; |
174 | 185 | return (in_array($this->router->route->getMethod(), $method)) ? true : false; |
175 | 186 | } |
@@ -198,13 +209,16 @@ discard block |
||
198 | 209 | { |
199 | 210 | if (strpos($this->router->route->getCallback(), '@') !== false) { |
200 | 211 | $routes = explode('@', $this->router->route->getCallback()); |
201 | - if (!isset($routes[1])) $routes[1] = 'index'; |
|
212 | + if (!isset($routes[1])) { |
|
213 | + $routes[1] = 'index'; |
|
214 | + } |
|
202 | 215 | $index = isset($this->request['collection_index']) ? $this->request['collection_index'] : 0; |
203 | 216 | $class = (class_exists($routes[0])) |
204 | 217 | ? $routes[0] |
205 | 218 | : $this->router->collection->getRoutes()['ctrl_namespace_'.$index].$routes[0]; |
206 | - if (!class_exists($class)) |
|
207 | - throw new \Exception('Class "' . $class . '." is not found'); |
|
219 | + if (!class_exists($class)) { |
|
220 | + throw new \Exception('Class "' . $class . '." is not found'); |
|
221 | + } |
|
208 | 222 | if (method_exists($class, $routes[1])) { |
209 | 223 | $this->router->route->setTarget([ |
210 | 224 | 'dispatcher' => $this->dispatcher['matchController'], |
@@ -231,9 +245,9 @@ discard block |
||
231 | 245 | $index = isset($this->request['collection_index']) ? $this->request['collection_index'] : 0; |
232 | 246 | $viewDir = $this->router->collection->getRoutes('view_dir_' . $index); |
233 | 247 | $target = null; |
234 | - if (in_array('.' . $extension, $this->router->getConfig()['templateExtension']) && is_file($viewDir . $path)) |
|
235 | - $target = $viewDir . $path; |
|
236 | - else { |
|
248 | + if (in_array('.' . $extension, $this->router->getConfig()['templateExtension']) && is_file($viewDir . $path)) { |
|
249 | + $target = $viewDir . $path; |
|
250 | + } else { |
|
237 | 251 | foreach ($this->router->getConfig()['templateExtension'] as $ext) { |
238 | 252 | if (is_file($viewDir . $path . $ext)) { |
239 | 253 | $target = $viewDir . $path . $ext; |
@@ -242,8 +256,9 @@ discard block |
||
242 | 256 | } |
243 | 257 | } |
244 | 258 | } |
245 | - if(is_null($target)) |
|
246 | - throw new \Exception('Template file "' . $path . '" is not found in "' . $viewDir . '"'); |
|
259 | + if(is_null($target)) { |
|
260 | + throw new \Exception('Template file "' . $path . '" is not found in "' . $viewDir . '"'); |
|
261 | + } |
|
247 | 262 | $this->router->route->setTarget([ |
248 | 263 | 'dispatcher' => $this->dispatcher['matchTemplate'], |
249 | 264 | 'template' => $target, |
@@ -29,11 +29,14 @@ discard block |
||
29 | 29 | */ |
30 | 30 | public function globalMiddleware() |
31 | 31 | { |
32 | - if (isset($this->router->collection->middleware['global_middleware'])) |
|
33 | - foreach ($this->router->collection->middleware['global_middleware'] as $mid) { |
|
32 | + if (isset($this->router->collection->middleware['global_middleware'])) { |
|
33 | + foreach ($this->router->collection->middleware['global_middleware'] as $mid) { |
|
34 | 34 | if (class_exists($mid)) { |
35 | - $mid_global = call_user_func($this->router->getConfig()['di'],$mid); |
|
36 | - if (method_exists($mid_global, 'handle')) $this->callHandler($mid_global); |
|
35 | + $mid_global = call_user_func($this->router->getConfig()['di'],$mid); |
|
36 | + } |
|
37 | + if (method_exists($mid_global, 'handle')) { |
|
38 | + $this->callHandler($mid_global); |
|
39 | + } |
|
37 | 40 | } |
38 | 41 | } |
39 | 42 | } |
@@ -43,11 +46,14 @@ discard block |
||
43 | 46 | */ |
44 | 47 | public function blockMiddleware() |
45 | 48 | { |
46 | - if (isset($this->router->collection->middleware['block_middleware'])) |
|
47 | - if (isset($this->router->collection->middleware['block_middleware'][$this->router->route->getTarget('block')]) && class_exists($this->router->collection->middleware['block_middleware'][$this->router->route->getTarget('block')])) { |
|
48 | - $class = $this->router->collection->middleware['block_middleware'][$this->router->route->getTarget('block')]; |
|
49 | + if (isset($this->router->collection->middleware['block_middleware'])) { |
|
50 | + if (isset($this->router->collection->middleware['block_middleware'][$this->router->route->getTarget('block')]) && class_exists($this->router->collection->middleware['block_middleware'][$this->router->route->getTarget('block')])) { |
|
51 | + $class = $this->router->collection->middleware['block_middleware'][$this->router->route->getTarget('block')]; |
|
52 | + } |
|
49 | 53 | $mid_block = call_user_func($this->router->getConfig()['di'],$class); |
50 | - if (method_exists($mid_block, 'handle')) $this->callHandler($mid_block); |
|
54 | + if (method_exists($mid_block, 'handle')) { |
|
55 | + $this->callHandler($mid_block); |
|
56 | + } |
|
51 | 57 | } |
52 | 58 | } |
53 | 59 | |
@@ -61,7 +67,9 @@ discard block |
||
61 | 67 | if (isset($this->router->collection->middleware['class_middleware'][$ctrl]) && class_exists($this->router->route->getTarget('controller'))) { |
62 | 68 | $class = $this->router->collection->middleware['class_middleware'][$ctrl]; |
63 | 69 | $mid_class = call_user_func($this->router->getConfig()['di'],$class); |
64 | - if (method_exists($mid_class, 'handle')) $this->callHandler($mid_class); |
|
70 | + if (method_exists($mid_class, 'handle')) { |
|
71 | + $this->callHandler($mid_class); |
|
72 | + } |
|
65 | 73 | } |
66 | 74 | } |
67 | 75 | } |
@@ -71,11 +79,14 @@ discard block |
||
71 | 79 | */ |
72 | 80 | public function routeMiddleware() |
73 | 81 | { |
74 | - if (isset($this->router->collection->middleware['route_middleware'])) |
|
75 | - if (isset($this->router->route->getPath()['middleware']) && class_exists($this->router->collection->middleware['route_middleware'][$this->router->route->getPath()['middleware']])) { |
|
76 | - $class = $this->router->collection->middleware['route_middleware'][$this->router->route->getPath()['middleware']]; |
|
82 | + if (isset($this->router->collection->middleware['route_middleware'])) { |
|
83 | + if (isset($this->router->route->getPath()['middleware']) && class_exists($this->router->collection->middleware['route_middleware'][$this->router->route->getPath()['middleware']])) { |
|
84 | + $class = $this->router->collection->middleware['route_middleware'][$this->router->route->getPath()['middleware']]; |
|
85 | + } |
|
77 | 86 | $mid_route = call_user_func($this->router->getConfig()['di'],$class); |
78 | - if (method_exists($mid_route, 'handle')) $this->callHandler($mid_route); |
|
87 | + if (method_exists($mid_route, 'handle')) { |
|
88 | + $this->callHandler($mid_route); |
|
89 | + } |
|
79 | 90 | } |
80 | 91 | } |
81 | 92 | |
@@ -86,9 +97,10 @@ discard block |
||
86 | 97 | private function callHandler($instance){ |
87 | 98 | $reflectionMethod = new ReflectionMethod($instance, 'handle'); |
88 | 99 | $dependencies = []; |
89 | - foreach ($reflectionMethod->getParameters() as $arg) |
|
90 | - if (!is_null($arg->getClass())) |
|
91 | - $dependencies[] = $this->getClass($arg->getClass()->name); |
|
100 | + foreach ($reflectionMethod->getParameters() as $arg) { |
|
101 | + if (!is_null($arg->getClass())) |
|
102 | + $dependencies[] = $this->getClass($arg->getClass()->name); |
|
103 | + } |
|
92 | 104 | $dependencies = array_merge($dependencies,[$this->router->route]); |
93 | 105 | return $reflectionMethod->invokeArgs($instance, $dependencies); |
94 | 106 | } |