Completed
Push — master ( 9a95ba...d1c5d4 )
by Sinnarasa
02:47
created
src/Routing/Matcher/ArrayMatcher.php 3 patches
Doc Comments   +2 added lines, -2 removed lines patch added patch discarded remove patch
@@ -158,7 +158,7 @@  discard block
 block discarded – undo
158 158
     }
159 159
 
160 160
     /**
161
-     * @param $regex
161
+     * @param string $regex
162 162
      * @return bool
163 163
      */
164 164
     private function routeMatch($regex)
@@ -176,7 +176,7 @@  discard block
 block discarded – undo
176 176
     }
177 177
 
178 178
     /**
179
-     * @return bool
179
+     * @return null|boolean
180 180
      */
181 181
     private function generateTarget()
182 182
     {
Please login to merge, or discard this patch.
Spacing   +48 added lines, -48 removed lines patch added patch discarded remove patch
@@ -25,7 +25,7 @@  discard block
 block discarded – undo
25 25
     /**
26 26
      * @var array
27 27
      */
28
-    private $resolver = ['isClosureAndTemplate','isControllerAndTemplate','isTemplate'];
28
+    private $resolver = ['isClosureAndTemplate', 'isControllerAndTemplate', 'isTemplate'];
29 29
 
30 30
     /**
31 31
      * @var array
@@ -34,8 +34,8 @@  discard block
 block discarded – undo
34 34
         'isClosure' => 'JetFire\Routing\Dispatcher\ClosureDispatcher',
35 35
         'isController' => 'JetFire\Routing\Dispatcher\ControllerDispatcher',
36 36
         'isTemplate' => 'JetFire\Routing\Dispatcher\TemplateDispatcher',
37
-        'isControllerAndTemplate' => ['JetFire\Routing\Dispatcher\ControllerDispatcher','JetFire\Routing\Dispatcher\TemplateDispatcher'],
38
-        'isClosureAndTemplate' => ['JetFire\Routing\Dispatcher\ClosureDispatcher','JetFire\Routing\Dispatcher\TemplateDispatcher'],
37
+        'isControllerAndTemplate' => ['JetFire\Routing\Dispatcher\ControllerDispatcher', 'JetFire\Routing\Dispatcher\TemplateDispatcher'],
38
+        'isClosureAndTemplate' => ['JetFire\Routing\Dispatcher\ClosureDispatcher', 'JetFire\Routing\Dispatcher\TemplateDispatcher'],
39 39
     ];
40 40
 
41 41
     /**
@@ -49,14 +49,14 @@  discard block
 block discarded – undo
49 49
     /**
50 50
      * @param array $resolver
51 51
      */
52
-    public function setResolver($resolver = []){
52
+    public function setResolver($resolver = []) {
53 53
         $this->resolver = $resolver;
54 54
     }
55 55
 
56 56
     /**
57 57
      * @param string $resolver
58 58
      */
59
-    public function addResolver($resolver){
59
+    public function addResolver($resolver) {
60 60
         $this->resolver[] = $resolver;
61 61
     }
62 62
 
@@ -71,7 +71,7 @@  discard block
 block discarded – undo
71 71
     /**
72 72
      * @param array $dispatcher
73 73
      */
74
-    public function setDispatcher($dispatcher = []){
74
+    public function setDispatcher($dispatcher = []) {
75 75
         $this->dispatcher = $dispatcher;
76 76
     }
77 77
 
@@ -81,7 +81,7 @@  discard block
 block discarded – undo
81 81
      * @return mixed|void
82 82
      * @internal param array $dispatcher
83 83
      */
84
-    public function addDispatcher($method,$class){
84
+    public function addDispatcher($method, $class) {
85 85
         $this->dispatcher[$method] = $class;
86 86
     }
87 87
 
@@ -92,17 +92,17 @@  discard block
 block discarded – undo
92 92
     {
93 93
         $this->request = [];
94 94
         for ($i = 0; $i < $this->router->collection->countRoutes; ++$i) {
95
-            $this->request['prefix'] = ($this->router->collection->getRoutes('prefix_' . $i) != '') ? $this->router->collection->getRoutes('prefix_' . $i) : '';
96
-            $this->request['subdomain'] = ($this->router->collection->getRoutes('subdomain_' . $i) != '') ? $this->router->collection->getRoutes('subdomain_' . $i) : '';
97
-            foreach ($this->router->collection->getRoutes('routes_' . $i) as $route => $params) {
95
+            $this->request['prefix'] = ($this->router->collection->getRoutes('prefix_'.$i) != '') ? $this->router->collection->getRoutes('prefix_'.$i) : '';
96
+            $this->request['subdomain'] = ($this->router->collection->getRoutes('subdomain_'.$i) != '') ? $this->router->collection->getRoutes('subdomain_'.$i) : '';
97
+            foreach ($this->router->collection->getRoutes('routes_'.$i) as $route => $params) {
98 98
                 $this->request['params'] = $params;
99 99
                 $this->request['collection_index'] = $i;
100
-                if($this->checkSubdomain($route)) {
100
+                if ($this->checkSubdomain($route)) {
101 101
                     $route = strstr($route, '/');
102
-                    $this->request['route'] = preg_replace_callback('#:([\w]+)#', [$this, 'paramMatch'], '/' . trim(trim($this->request['prefix'], '/') . '/' . trim($route, '/'), '/'));
103
-                    if ($this->routeMatch('#^' . $this->request['route'] . '$#')) {
102
+                    $this->request['route'] = preg_replace_callback('#:([\w]+)#', [$this, 'paramMatch'], '/'.trim(trim($this->request['prefix'], '/').'/'.trim($route, '/'), '/'));
103
+                    if ($this->routeMatch('#^'.$this->request['route'].'$#')) {
104 104
                         $this->setCallback();
105
-                        if(!is_null($response = $this->generateTarget())) return $response;
105
+                        if (!is_null($response = $this->generateTarget())) return $response;
106 106
                     }
107 107
                 }
108 108
             }
@@ -114,19 +114,19 @@  discard block
 block discarded – undo
114 114
      * @param $route
115 115
      * @return bool
116 116
      */
117
-    private function checkSubdomain($route){
118
-        $url = (isset($_SERVER['REQUEST_SCHEME']) ? $_SERVER['REQUEST_SCHEME'] : 'http') . '://' . ($host = (isset($_SERVER['HTTP_HOST']) ? $_SERVER['HTTP_HOST'] : $_SERVER['SERVER_NAME']));
117
+    private function checkSubdomain($route) {
118
+        $url = (isset($_SERVER['REQUEST_SCHEME']) ? $_SERVER['REQUEST_SCHEME'] : 'http').'://'.($host = (isset($_SERVER['HTTP_HOST']) ? $_SERVER['HTTP_HOST'] : $_SERVER['SERVER_NAME']));
119 119
         $domain = $this->router->collection->getDomain($url);
120
-        if(!empty($this->request['subdomain']) && $route[0] == '/') $route = trim($this->request['subdomain'],'.').'.'.$domain.$route;
121
-        if($route[0] == '/'){
120
+        if (!empty($this->request['subdomain']) && $route[0] == '/') $route = trim($this->request['subdomain'], '.').'.'.$domain.$route;
121
+        if ($route[0] == '/') {
122 122
             return ($host != $domain) ? false : true;
123
-        }elseif($route[0] != '/' && $host != $domain){
123
+        }elseif ($route[0] != '/' && $host != $domain) {
124 124
             $route = substr($route, 0, strpos($route, "/"));
125 125
             $route = str_replace('{host}', $domain, $route);
126 126
             $route = preg_replace_callback('#{subdomain}#', [$this, 'subdomainMatch'], $route);
127
-            if (preg_match('#^' . $route . '$#', $host, $this->request['called_subdomain'])) {
127
+            if (preg_match('#^'.$route.'$#', $host, $this->request['called_subdomain'])) {
128 128
                 $this->request['called_subdomain'] = array_shift($this->request['called_subdomain']);
129
-                $this->request['subdomain'] = str_replace('.'.$domain,'',$host);
129
+                $this->request['subdomain'] = str_replace('.'.$domain, '', $host);
130 130
                 return true;
131 131
             }
132 132
         }
@@ -139,7 +139,7 @@  discard block
 block discarded – undo
139 139
     private function subdomainMatch()
140 140
     {
141 141
         if (is_array($this->request['params']) && isset($this->request['params']['subdomain'])) {
142
-            return '(' . $this->request['params']['subdomain'] . ')';
142
+            return '('.$this->request['params']['subdomain'].')';
143 143
         }
144 144
         return '([^/]+)';
145 145
     }
@@ -152,7 +152,7 @@  discard block
 block discarded – undo
152 152
     {
153 153
         if (is_array($this->request['params']) && isset($this->request['params']['arguments'][$match[1]])) {
154 154
             $this->request['params']['arguments'][$match[1]] = str_replace('(', '(?:', $this->request['params']['arguments'][$match[1]]);
155
-            return '(' . $this->request['params']['arguments'][$match[1]] . ')';
155
+            return '('.$this->request['params']['arguments'][$match[1]].')';
156 156
         }
157 157
         return '([^/]+)';
158 158
     }
@@ -180,7 +180,7 @@  discard block
 block discarded – undo
180 180
      */
181 181
     private function generateTarget()
182 182
     {
183
-        if($this->validMethod()) {
183
+        if ($this->validMethod()) {
184 184
             foreach ($this->resolver as $resolver) {
185 185
                 if (is_array($target = call_user_func_array([$this, $resolver], [$this->router->route->getCallback()]))) {
186 186
                     $this->setTarget($target);
@@ -199,7 +199,7 @@  discard block
 block discarded – undo
199 199
     /**
200 200
      * @param array $target
201 201
      */
202
-    public function setTarget($target = []){
202
+    public function setTarget($target = []) {
203 203
         $index = isset($this->request['collection_index']) ? $this->request['collection_index'] : 0;
204 204
         $this->router->route->setDetail($this->request);
205 205
         $this->router->route->setTarget($target);
@@ -210,9 +210,9 @@  discard block
 block discarded – undo
210 210
     /**
211 211
      *
212 212
      */
213
-    private function setCallback(){
213
+    private function setCallback() {
214 214
         if (isset($this->request['params'])) {
215
-            if(is_callable($this->request['params']))
215
+            if (is_callable($this->request['params']))
216 216
                 $this->router->route->setCallback($this->request['params']);
217 217
             else {
218 218
                 (is_array($this->request['params']) && isset($this->request['params']['use']))
@@ -229,7 +229,7 @@  discard block
 block discarded – undo
229 229
      */
230 230
     public function validMethod()
231 231
     {
232
-        if(is_callable($this->request['params']))return true;
232
+        if (is_callable($this->request['params']))return true;
233 233
         if (!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest')
234 234
             return (isset($this->request['params']['ajax']) && $this->request['params']['ajax'] === true) ? true : false;
235 235
         $method = (isset($this->request['params']['method'])) ? $this->request['params']['method'] : ['GET'];
@@ -241,10 +241,10 @@  discard block
 block discarded – undo
241 241
      * @return array|bool
242 242
      * @throws \Exception
243 243
      */
244
-    public function isClosureAndTemplate($callback){
245
-        if(is_array($cls = $this->isClosure($callback))) {
244
+    public function isClosureAndTemplate($callback) {
245
+        if (is_array($cls = $this->isClosure($callback))) {
246 246
             if (is_array($this->request['params']) && isset($this->request['params']['template']) && is_array($tpl = $this->isTemplate($this->request['params']['template']))) {
247
-                return array_merge(array_merge($cls, $tpl),[
247
+                return array_merge(array_merge($cls, $tpl), [
248 248
                     'dispatcher' => $this->dispatcher['isClosureAndTemplate']
249 249
                 ]);
250 250
             }
@@ -258,10 +258,10 @@  discard block
 block discarded – undo
258 258
      * @return array|bool
259 259
      * @throws \Exception
260 260
      */
261
-    public function isControllerAndTemplate($callback){
262
-        if(is_array($ctrl = $this->isController($callback))) {
261
+    public function isControllerAndTemplate($callback) {
262
+        if (is_array($ctrl = $this->isController($callback))) {
263 263
             if (is_array($this->request['params']) && isset($this->request['params']['template']) && is_array($tpl = $this->isTemplate($this->request['params']['template']))) {
264
-                return array_merge(array_merge($ctrl, $tpl),[
264
+                return array_merge(array_merge($ctrl, $tpl), [
265 265
                     'dispatcher' => $this->dispatcher['isControllerAndTemplate']
266 266
                 ]);
267 267
             }
@@ -296,19 +296,19 @@  discard block
 block discarded – undo
296 296
         if (is_string($callback) && strpos($callback, '@') !== false) {
297 297
             $routes = explode('@', $callback);
298 298
             if (!isset($routes[1])) $routes[1] = 'index';
299
-            if ($routes[1] == '{method}'){
300
-                $this->request['parameters'] = explode('/',str_replace(str_replace('*','',$this->request['route']),'',$this->router->route->getUrl()));
299
+            if ($routes[1] == '{method}') {
300
+                $this->request['parameters'] = explode('/', str_replace(str_replace('*', '', $this->request['route']), '', $this->router->route->getUrl()));
301 301
                 $routes[1] = $this->request['parameters'][0];
302 302
                 array_shift($this->request['parameters']);
303
-                if(preg_match('/[A-Z]/', $routes[1])) return false;
304
-                $routes[1] = lcfirst(str_replace('-','',ucwords($routes[1],'-')));
303
+                if (preg_match('/[A-Z]/', $routes[1])) return false;
304
+                $routes[1] = lcfirst(str_replace('-', '', ucwords($routes[1], '-')));
305 305
             }
306 306
             $index = isset($this->request['collection_index']) ? $this->request['collection_index'] : 0;
307 307
             $class = (class_exists($routes[0]))
308 308
                 ? $routes[0]
309
-                : $this->router->collection->getRoutes()['ctrl_namespace_' . $index] . $routes[0];
309
+                : $this->router->collection->getRoutes()['ctrl_namespace_'.$index].$routes[0];
310 310
             if (!class_exists($class))
311
-                throw new \Exception('Class "' . $class . '." is not found');
311
+                throw new \Exception('Class "'.$class.'." is not found');
312 312
             if (method_exists($class, $routes[1])) {
313 313
                 return [
314 314
                     'dispatcher' => $this->dispatcher['isController'],
@@ -317,8 +317,8 @@  discard block
 block discarded – undo
317 317
                     'action' => $routes[1]
318 318
                 ];
319 319
             }
320
-            if(!isset($this->request['params']['group']))
321
-                throw new \Exception('The required method "' . $routes[1] . '" is not found in "' . $class . '"');
320
+            if (!isset($this->request['params']['group']))
321
+                throw new \Exception('The required method "'.$routes[1].'" is not found in "'.$class.'"');
322 322
         }
323 323
         return false;
324 324
     }
@@ -330,25 +330,25 @@  discard block
 block discarded – undo
330 330
      */
331 331
     public function isTemplate($callback)
332 332
     {
333
-        if(is_string($callback) && strpos($callback, '@') === false) {
333
+        if (is_string($callback) && strpos($callback, '@') === false) {
334 334
             $path = trim($callback, '/');
335 335
             $extension = substr(strrchr($path, "."), 1);
336 336
             $index = isset($this->request['collection_index']) ? $this->request['collection_index'] : 0;
337
-            $viewDir = $this->router->collection->getRoutes('view_dir_' . $index);
337
+            $viewDir = $this->router->collection->getRoutes('view_dir_'.$index);
338 338
             $target = null;
339
-            if (in_array('.' . $extension, $this->router->getConfig()['templateExtension']) && (is_file($fullPath = $viewDir . $path) || is_file($fullPath = $path)))
339
+            if (in_array('.'.$extension, $this->router->getConfig()['templateExtension']) && (is_file($fullPath = $viewDir.$path) || is_file($fullPath = $path)))
340 340
                 $target = $fullPath;
341 341
             else {
342 342
                 foreach ($this->router->getConfig()['templateExtension'] as $ext) {
343
-                    if (is_file($fullPath = $viewDir . $path . $ext) || is_file($fullPath = $path . $ext)) {
343
+                    if (is_file($fullPath = $viewDir.$path.$ext) || is_file($fullPath = $path.$ext)) {
344 344
                         $target = $fullPath;
345 345
                         $extension = substr(strrchr($ext, "."), 1);
346 346
                         break;
347 347
                     }
348 348
                 }
349 349
             }
350
-            if(is_null($target))
351
-                throw new \Exception('Template file "' . $path . '" is not found in "' . $viewDir . '"');
350
+            if (is_null($target))
351
+                throw new \Exception('Template file "'.$path.'" is not found in "'.$viewDir.'"');
352 352
             return [
353 353
                 'dispatcher' => $this->dispatcher['isTemplate'],
354 354
                 'template'   => $target,
Please login to merge, or discard this patch.
Braces   +46 added lines, -26 removed lines patch added patch discarded remove patch
@@ -102,7 +102,9 @@  discard block
 block discarded – undo
102 102
                     $this->request['route'] = preg_replace_callback('#:([\w]+)#', [$this, 'paramMatch'], '/' . trim(trim($this->request['prefix'], '/') . '/' . trim($route, '/'), '/'));
103 103
                     if ($this->routeMatch('#^' . $this->request['route'] . '$#')) {
104 104
                         $this->setCallback();
105
-                        if(!is_null($response = $this->generateTarget())) return $response;
105
+                        if(!is_null($response = $this->generateTarget())) {
106
+                            return $response;
107
+                        }
106 108
                     }
107 109
                 }
108 110
             }
@@ -117,10 +119,12 @@  discard block
 block discarded – undo
117 119
     private function checkSubdomain($route){
118 120
         $url = (isset($_SERVER['REQUEST_SCHEME']) ? $_SERVER['REQUEST_SCHEME'] : 'http') . '://' . ($host = (isset($_SERVER['HTTP_HOST']) ? $_SERVER['HTTP_HOST'] : $_SERVER['SERVER_NAME']));
119 121
         $domain = $this->router->collection->getDomain($url);
120
-        if(!empty($this->request['subdomain']) && $route[0] == '/') $route = trim($this->request['subdomain'],'.').'.'.$domain.$route;
122
+        if(!empty($this->request['subdomain']) && $route[0] == '/') {
123
+            $route = trim($this->request['subdomain'],'.').'.'.$domain.$route;
124
+        }
121 125
         if($route[0] == '/'){
122 126
             return ($host != $domain) ? false : true;
123
-        }elseif($route[0] != '/' && $host != $domain){
127
+        } elseif($route[0] != '/' && $host != $domain){
124 128
             $route = substr($route, 0, strpos($route, "/"));
125 129
             $route = str_replace('{host}', $domain, $route);
126 130
             $route = preg_replace_callback('#{subdomain}#', [$this, 'subdomainMatch'], $route);
@@ -165,8 +169,9 @@  discard block
 block discarded – undo
165 169
     {
166 170
         if (substr($this->request['route'], -1) == '*') {
167 171
             $pos = strpos($this->request['route'], '*');
168
-            if (substr($this->router->route->getUrl(), 0, $pos) == substr($this->request['route'], 0, $pos) && isset($this->request['params']))
169
-                return true;
172
+            if (substr($this->router->route->getUrl(), 0, $pos) == substr($this->request['route'], 0, $pos) && isset($this->request['params'])) {
173
+                            return true;
174
+            }
170 175
         }
171 176
         if (preg_match($regex, $this->router->route->getUrl(), $this->request['parameters'])) {
172 177
             array_shift($this->request['parameters']);
@@ -184,8 +189,9 @@  discard block
 block discarded – undo
184 189
             foreach ($this->resolver as $resolver) {
185 190
                 if (is_array($target = call_user_func_array([$this, $resolver], [$this->router->route->getCallback()]))) {
186 191
                     $this->setTarget($target);
187
-                    if ($this->router->middleware->globalMiddleware() === false || $this->router->middleware->blockMiddleware() === false || $this->router->middleware->classMiddleware() === false || $this->router->middleware->routeMiddleware() === false)
188
-                        return null;
192
+                    if ($this->router->middleware->globalMiddleware() === false || $this->router->middleware->blockMiddleware() === false || $this->router->middleware->classMiddleware() === false || $this->router->middleware->routeMiddleware() === false) {
193
+                                            return null;
194
+                    }
189 195
                     $this->router->response->setStatusCode(202);
190 196
                     return true;
191 197
                 }
@@ -212,14 +218,18 @@  discard block
 block discarded – undo
212 218
      */
213 219
     private function setCallback(){
214 220
         if (isset($this->request['params'])) {
215
-            if(is_callable($this->request['params']))
216
-                $this->router->route->setCallback($this->request['params']);
217
-            else {
221
+            if(is_callable($this->request['params'])) {
222
+                            $this->router->route->setCallback($this->request['params']);
223
+            } else {
218 224
                 (is_array($this->request['params']) && isset($this->request['params']['use']))
219 225
                     ? $this->router->route->setCallback($this->request['params']['use'])
220 226
                     : $this->router->route->setCallback($this->request['params']);
221
-                if (isset($this->request['params']['name'])) $this->router->route->setName($this->request['params']['name']);
222
-                if (isset($this->request['params']['method'])) $this->request['params']['method'] = is_array($this->request['params']['method']) ? $this->request['params']['method'] : [$this->request['params']['method']];
227
+                if (isset($this->request['params']['name'])) {
228
+                    $this->router->route->setName($this->request['params']['name']);
229
+                }
230
+                if (isset($this->request['params']['method'])) {
231
+                    $this->request['params']['method'] = is_array($this->request['params']['method']) ? $this->request['params']['method'] : [$this->request['params']['method']];
232
+                }
223 233
             }
224 234
         }
225 235
     }
@@ -229,9 +239,12 @@  discard block
 block discarded – undo
229 239
      */
230 240
     public function validMethod()
231 241
     {
232
-        if(is_callable($this->request['params']))return true;
233
-        if (!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest')
234
-            return (isset($this->request['params']['ajax']) && $this->request['params']['ajax'] === true) ? true : false;
242
+        if(is_callable($this->request['params'])) {
243
+            return true;
244
+        }
245
+        if (!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') {
246
+                    return (isset($this->request['params']['ajax']) && $this->request['params']['ajax'] === true) ? true : false;
247
+        }
235 248
         $method = (isset($this->request['params']['method'])) ? $this->request['params']['method'] : ['GET'];
236 249
         return (in_array($this->router->route->getMethod(), $method)) ? true : false;
237 250
     }
@@ -295,20 +308,25 @@  discard block
 block discarded – undo
295 308
     {
296 309
         if (is_string($callback) && strpos($callback, '@') !== false) {
297 310
             $routes = explode('@', $callback);
298
-            if (!isset($routes[1])) $routes[1] = 'index';
311
+            if (!isset($routes[1])) {
312
+                $routes[1] = 'index';
313
+            }
299 314
             if ($routes[1] == '{method}'){
300 315
                 $this->request['parameters'] = explode('/',str_replace(str_replace('*','',$this->request['route']),'',$this->router->route->getUrl()));
301 316
                 $routes[1] = $this->request['parameters'][0];
302 317
                 array_shift($this->request['parameters']);
303
-                if(preg_match('/[A-Z]/', $routes[1])) return false;
318
+                if(preg_match('/[A-Z]/', $routes[1])) {
319
+                    return false;
320
+                }
304 321
                 $routes[1] = lcfirst(str_replace('-','',ucwords($routes[1],'-')));
305 322
             }
306 323
             $index = isset($this->request['collection_index']) ? $this->request['collection_index'] : 0;
307 324
             $class = (class_exists($routes[0]))
308 325
                 ? $routes[0]
309 326
                 : $this->router->collection->getRoutes()['ctrl_namespace_' . $index] . $routes[0];
310
-            if (!class_exists($class))
311
-                throw new \Exception('Class "' . $class . '." is not found');
327
+            if (!class_exists($class)) {
328
+                            throw new \Exception('Class "' . $class . '." is not found');
329
+            }
312 330
             if (method_exists($class, $routes[1])) {
313 331
                 return [
314 332
                     'dispatcher' => $this->dispatcher['isController'],
@@ -317,8 +335,9 @@  discard block
 block discarded – undo
317 335
                     'action' => $routes[1]
318 336
                 ];
319 337
             }
320
-            if(!isset($this->request['params']['group']))
321
-                throw new \Exception('The required method "' . $routes[1] . '" is not found in "' . $class . '"');
338
+            if(!isset($this->request['params']['group'])) {
339
+                            throw new \Exception('The required method "' . $routes[1] . '" is not found in "' . $class . '"');
340
+            }
322 341
         }
323 342
         return false;
324 343
     }
@@ -336,9 +355,9 @@  discard block
 block discarded – undo
336 355
             $index = isset($this->request['collection_index']) ? $this->request['collection_index'] : 0;
337 356
             $viewDir = $this->router->collection->getRoutes('view_dir_' . $index);
338 357
             $target = null;
339
-            if (in_array('.' . $extension, $this->router->getConfig()['templateExtension']) && (is_file($fullPath = $viewDir . $path) || is_file($fullPath = $path)))
340
-                $target = $fullPath;
341
-            else {
358
+            if (in_array('.' . $extension, $this->router->getConfig()['templateExtension']) && (is_file($fullPath = $viewDir . $path) || is_file($fullPath = $path))) {
359
+                            $target = $fullPath;
360
+            } else {
342 361
                 foreach ($this->router->getConfig()['templateExtension'] as $ext) {
343 362
                     if (is_file($fullPath = $viewDir . $path . $ext) || is_file($fullPath = $path . $ext)) {
344 363
                         $target = $fullPath;
@@ -347,8 +366,9 @@  discard block
 block discarded – undo
347 366
                     }
348 367
                 }
349 368
             }
350
-            if(is_null($target))
351
-                throw new \Exception('Template file "' . $path . '" is not found in "' . $viewDir . '"');
369
+            if(is_null($target)) {
370
+                            throw new \Exception('Template file "' . $path . '" is not found in "' . $viewDir . '"');
371
+            }
352 372
             return [
353 373
                 'dispatcher' => $this->dispatcher['isTemplate'],
354 374
                 'template'   => $target,
Please login to merge, or discard this patch.
src/Routing/Matcher/UriMatcher.php 3 patches
Doc Comments   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -83,7 +83,7 @@
 block discarded – undo
83 83
     }
84 84
 
85 85
     /**
86
-     * @return bool
86
+     * @return null|boolean
87 87
      */
88 88
     public function match()
89 89
     {
Please login to merge, or discard this patch.
Spacing   +20 added lines, -20 removed lines patch added patch discarded remove patch
@@ -32,7 +32,7 @@  discard block
 block discarded – undo
32 32
     private $dispatcher = [
33 33
         'isTemplate' => 'JetFire\Routing\Dispatcher\TemplateDispatcher',
34 34
         'isController' => 'JetFire\Routing\Dispatcher\ControllerDispatcher',
35
-        'isControllerAndTemplate' => ['JetFire\Routing\Dispatcher\ControllerDispatcher','JetFire\Routing\Dispatcher\TemplateDispatcher'],
35
+        'isControllerAndTemplate' => ['JetFire\Routing\Dispatcher\ControllerDispatcher', 'JetFire\Routing\Dispatcher\TemplateDispatcher'],
36 36
     ];
37 37
 
38 38
     /**
@@ -46,14 +46,14 @@  discard block
 block discarded – undo
46 46
     /**
47 47
      * @param array $resolver
48 48
      */
49
-    public function setResolver($resolver = []){
49
+    public function setResolver($resolver = []) {
50 50
         $this->resolver = $resolver;
51 51
     }
52 52
 
53 53
     /**
54 54
      * @param string $resolver
55 55
      */
56
-    public function addResolver($resolver){
56
+    public function addResolver($resolver) {
57 57
         $this->resolver[] = $resolver;
58 58
     }
59 59
 
@@ -78,7 +78,7 @@  discard block
 block discarded – undo
78 78
      * @param $class
79 79
      * @return mixed|void
80 80
      */
81
-    public function addDispatcher($method,$class){
81
+    public function addDispatcher($method, $class) {
82 82
         $this->dispatcher[$method] = $class;
83 83
     }
84 84
 
@@ -87,10 +87,10 @@  discard block
 block discarded – undo
87 87
      */
88 88
     public function match()
89 89
     {
90
-        foreach($this->resolver as $resolver){
91
-            if(is_array($target = call_user_func([$this,$resolver]))) {
90
+        foreach ($this->resolver as $resolver) {
91
+            if (is_array($target = call_user_func([$this, $resolver]))) {
92 92
                 $this->setTarget($target);
93
-                if($this->router->middleware->globalMiddleware() === false || $this->router->middleware->blockMiddleware() === false || $this->router->middleware->classMiddleware() === false || $this->router->middleware->routeMiddleware() === false)
93
+                if ($this->router->middleware->globalMiddleware() === false || $this->router->middleware->blockMiddleware() === false || $this->router->middleware->classMiddleware() === false || $this->router->middleware->routeMiddleware() === false)
94 94
                     return null;
95 95
                 $this->router->response->setStatusCode(202);
96 96
                 return true;
@@ -102,7 +102,7 @@  discard block
 block discarded – undo
102 102
     /**
103 103
      * @param array $target
104 104
      */
105
-    public function setTarget($target = []){
105
+    public function setTarget($target = []) {
106 106
         $index = isset($this->request['collection_index']) ? $this->request['collection_index'] : 0;
107 107
         $this->router->route->setDetail($this->request);
108 108
         $this->router->route->setTarget($target);
@@ -113,10 +113,10 @@  discard block
 block discarded – undo
113 113
     /**
114 114
      * @return array|bool
115 115
      */
116
-    public function isControllerAndTemplate(){
117
-        if(is_array($ctrl = $this->isController())) {
116
+    public function isControllerAndTemplate() {
117
+        if (is_array($ctrl = $this->isController())) {
118 118
             if (is_array($tpl = $this->isTemplate())) {
119
-                return array_merge(array_merge($ctrl, $tpl),[
119
+                return array_merge(array_merge($ctrl, $tpl), [
120 120
                     'dispatcher' => $this->dispatcher['isControllerAndTemplate']
121 121
                 ]);
122 122
             }
@@ -132,10 +132,10 @@  discard block
 block discarded – undo
132 132
     {
133 133
         foreach ($this->router->getConfig()['templateExtension'] as $extension) {
134 134
             for ($i = 0; $i < $this->router->collection->countRoutes; ++$i) {
135
-                $url = explode('/', str_replace($this->router->collection->getRoutes('prefix_' . $i), '',$this->router->route->getUrl()));
135
+                $url = explode('/', str_replace($this->router->collection->getRoutes('prefix_'.$i), '', $this->router->route->getUrl()));
136 136
                 $end = array_pop($url);
137 137
                 $url = implode('/', array_map('ucwords', $url)).'/'.$end;
138
-                if (is_file(($template = rtrim($this->router->collection->getRoutes('view_dir_' . $i), '/') . $url . $extension))) {
138
+                if (is_file(($template = rtrim($this->router->collection->getRoutes('view_dir_'.$i), '/').$url.$extension))) {
139 139
                     $this->request['collection_index'] = $i;
140 140
                     return [
141 141
                         'dispatcher' => $this->dispatcher['isTemplate'],
@@ -156,13 +156,13 @@  discard block
 block discarded – undo
156 156
     {
157 157
         $routes = array_slice(explode('/', $this->router->route->getUrl()), 1);
158 158
         $i = 0;
159
-        do{
160
-            $route =  ('/' . $routes[0] == $this->router->collection->getRoutes('prefix_' . $i)) ? array_slice($routes, 1) : $routes;
159
+        do {
160
+            $route = ('/'.$routes[0] == $this->router->collection->getRoutes('prefix_'.$i)) ? array_slice($routes, 1) : $routes;
161 161
             if (isset($route[0])) {
162
-                $class =  (class_exists($this->router->collection->getRoutes('ctrl_namespace_' . $i). ucfirst($route[0]) . 'Controller'))
163
-                    ? $this->router->collection->getRoutes('ctrl_namespace_' . $i). ucfirst($route[0]) . 'Controller'
164
-                    : ucfirst($route[0]) . 'Controller';
165
-                $route[1] = isset($route[1])?$route[1]:'index';
162
+                $class = (class_exists($this->router->collection->getRoutes('ctrl_namespace_'.$i).ucfirst($route[0]).'Controller'))
163
+                    ? $this->router->collection->getRoutes('ctrl_namespace_'.$i).ucfirst($route[0]).'Controller'
164
+                    : ucfirst($route[0]).'Controller';
165
+                $route[1] = isset($route[1]) ? $route[1] : 'index';
166 166
                 if (method_exists($class, $route[1])) {
167 167
                     $this->request['parameters'] = array_slice($route, 2);
168 168
                     $this->request['collection_index'] = $i;
@@ -175,7 +175,7 @@  discard block
 block discarded – undo
175 175
                 }
176 176
             }
177 177
             ++$i;
178
-        }while($i < $this->router->collection->countRoutes);
178
+        }while ($i < $this->router->collection->countRoutes);
179 179
         return false;
180 180
     }
181 181
 
Please login to merge, or discard this patch.
Braces   +3 added lines, -2 removed lines patch added patch discarded remove patch
@@ -90,8 +90,9 @@
 block discarded – undo
90 90
         foreach($this->resolver as $resolver){
91 91
             if(is_array($target = call_user_func([$this,$resolver]))) {
92 92
                 $this->setTarget($target);
93
-                if($this->router->middleware->globalMiddleware() === false || $this->router->middleware->blockMiddleware() === false || $this->router->middleware->classMiddleware() === false || $this->router->middleware->routeMiddleware() === false)
94
-                    return null;
93
+                if($this->router->middleware->globalMiddleware() === false || $this->router->middleware->blockMiddleware() === false || $this->router->middleware->classMiddleware() === false || $this->router->middleware->routeMiddleware() === false) {
94
+                                    return null;
95
+                }
95 96
                 $this->router->response->setStatusCode(202);
96 97
                 return true;
97 98
             }
Please login to merge, or discard this patch.
src/Routing/Middleware.php 1 patch
Braces   +16 added lines, -12 removed lines patch added patch discarded remove patch
@@ -29,9 +29,10 @@  discard block
 block discarded – undo
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 $class)
34
-                if (class_exists($class)) return $this->callHandler($class);
32
+        if (isset($this->router->collection->middleware['global_middleware'])) {
33
+                    foreach ($this->router->collection->middleware['global_middleware'] as $class)
34
+                if (class_exists($class)) return $this->callHandler($class);
35
+        }
35 36
         return null;
36 37
     }
37 38
 
@@ -40,9 +41,10 @@  discard block
 block discarded – undo
40 41
      */
41 42
     public function blockMiddleware()
42 43
     {
43
-        if (isset($this->router->collection->middleware['block_middleware']))
44
-            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')])) {
45
-                $class = $this->router->collection->middleware['block_middleware'][$this->router->route->getTarget('block')];
44
+        if (isset($this->router->collection->middleware['block_middleware'])) {
45
+                    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')])) {
46
+                $class = $this->router->collection->middleware['block_middleware'][$this->router->route->getTarget('block')];
47
+        }
46 48
                 return $this->callHandler($class);
47 49
             }
48 50
         return null;
@@ -68,9 +70,10 @@  discard block
 block discarded – undo
68 70
      */
69 71
     public function routeMiddleware()
70 72
     {
71
-        if (isset($this->router->collection->middleware['route_middleware']))
72
-            if (isset($this->router->route->getPath()['middleware']) && class_exists($this->router->collection->middleware['route_middleware'][$this->router->route->getPath()['middleware']])) {
73
-                $class = $this->router->collection->middleware['route_middleware'][$this->router->route->getPath()['middleware']];
73
+        if (isset($this->router->collection->middleware['route_middleware'])) {
74
+                    if (isset($this->router->route->getPath()['middleware']) && class_exists($this->router->collection->middleware['route_middleware'][$this->router->route->getPath()['middleware']])) {
75
+                $class = $this->router->collection->middleware['route_middleware'][$this->router->route->getPath()['middleware']];
76
+        }
74 77
                 return $this->callHandler($class);
75 78
             }
76 79
         return null;
@@ -85,9 +88,10 @@  discard block
 block discarded – undo
85 88
         if (method_exists($instance, 'handle')) {
86 89
             $reflectionMethod = new ReflectionMethod($instance, 'handle');
87 90
             $dependencies = [];
88
-            foreach ($reflectionMethod->getParameters() as $arg)
89
-                if (!is_null($arg->getClass()))
90
-                    $dependencies[] = $this->getClass($arg->getClass()->name);
91
+            foreach ($reflectionMethod->getParameters() as $arg) {
92
+                            if (!is_null($arg->getClass()))
93
+                    $dependencies[] = $this->getClass($arg->getClass()->name);
94
+            }
91 95
             $dependencies = array_merge($dependencies, [$this->router->route]);
92 96
             return $reflectionMethod->invokeArgs($instance, $dependencies);
93 97
         }
Please login to merge, or discard this patch.
src/Routing/Router.php 1 patch
Spacing   +15 added lines, -15 removed lines patch added patch discarded remove patch
@@ -49,14 +49,14 @@  discard block
 block discarded – undo
49 49
      * @param ResponseInterface $response
50 50
      * @param Route $route
51 51
      */
52
-    public function __construct(RouteCollection $collection,ResponseInterface $response = null,Route $route = null)
52
+    public function __construct(RouteCollection $collection, ResponseInterface $response = null, Route $route = null)
53 53
     {
54 54
         $this->collection = $collection;
55
-        $this->response = is_null($response)? new Response() : $response;
55
+        $this->response = is_null($response) ? new Response() : $response;
56 56
         $this->response->setStatusCode(404);
57
-        $this->route = is_null($route)? new Route() : $route;
57
+        $this->route = is_null($route) ? new Route() : $route;
58 58
         $this->middleware = new Middleware($this);
59
-        $this->config['di'] = function($class){
59
+        $this->config['di'] = function($class) {
60 60
             return new $class;
61 61
         };
62 62
     }
@@ -80,8 +80,8 @@  discard block
 block discarded – undo
80 80
     /**
81 81
      * @param object|array $matcher
82 82
      */
83
-    public function setMatcher($matcher){
84
-        if(is_object($matcher))
83
+    public function setMatcher($matcher) {
84
+        if (is_object($matcher))
85 85
             $matcher = [$matcher];
86 86
         $this->matcher = $matcher;
87 87
     }
@@ -89,7 +89,7 @@  discard block
 block discarded – undo
89 89
     /**
90 90
      * @param string $matcher
91 91
      */
92
-    public function addMatcher($matcher){
92
+    public function addMatcher($matcher) {
93 93
         $this->matcher[] = $matcher;
94 94
     }
95 95
 
@@ -113,7 +113,7 @@  discard block
 block discarded – undo
113 113
     {
114 114
         if (is_null($url))
115 115
             $url = (isset($_GET['url'])) ? $_GET['url'] : substr(str_replace(str_replace('/index.php', '', $_SERVER['SCRIPT_NAME']), '', $_SERVER['REQUEST_URI']), 1);
116
-        $this->route->setUrl('/' . trim(explode('?', $url)[0], '/'));
116
+        $this->route->setUrl('/'.trim(explode('?', $url)[0], '/'));
117 117
     }
118 118
 
119 119
     /**
@@ -133,9 +133,9 @@  discard block
 block discarded – undo
133 133
      */
134 134
     public function callTarget()
135 135
     {
136
-        $target = is_array($this->route->getTarget('dispatcher'))?$this->route->getTarget('dispatcher'):[$this->route->getTarget('dispatcher')];
137
-        if(!empty($target)) {
138
-            foreach($target as $call) {
136
+        $target = is_array($this->route->getTarget('dispatcher')) ? $this->route->getTarget('dispatcher') : [$this->route->getTarget('dispatcher')];
137
+        if (!empty($target)) {
138
+            foreach ($target as $call) {
139 139
                 $this->dispatcher = new $call($this->route, $this->response);
140 140
                 call_user_func([$this->dispatcher, 'call']);
141 141
             }
@@ -158,11 +158,11 @@  discard block
 block discarded – undo
158 158
         if (isset($this->route->getDetail()['response_templates']) && isset($this->route->getDetail()['response_templates'][$code = $this->response->getStatusCode()])) {
159 159
             $this->route->setCallback($this->route->getDetail()['response_templates'][$code]);
160 160
             $matcher = null;
161
-            foreach($this->matcher as $instance) if($instance instanceof ArrayMatcher) $matcher = $instance;
162
-            if(is_null($matcher))$matcher = new ArrayMatcher($this);
161
+            foreach ($this->matcher as $instance) if ($instance instanceof ArrayMatcher) $matcher = $instance;
162
+            if (is_null($matcher))$matcher = new ArrayMatcher($this);
163 163
             foreach (call_user_func([$matcher, 'getResolver']) as $match)
164
-                if (is_array($target = call_user_func_array([$matcher, $match], [$this->route->getCallback()]))){
165
-                    call_user_func_array([$matcher, 'setTarget'],[$target]);
164
+                if (is_array($target = call_user_func_array([$matcher, $match], [$this->route->getCallback()]))) {
165
+                    call_user_func_array([$matcher, 'setTarget'], [$target]);
166 166
                     $this->callTarget();
167 167
                     break;
168 168
                 }
Please login to merge, or discard this patch.
src/Routing/Dispatcher/ControllerDispatcher.php 2 patches
Spacing   +6 added lines, -6 removed lines patch added patch discarded remove patch
@@ -27,7 +27,7 @@  discard block
 block discarded – undo
27 27
     /**
28 28
      * @param Route $route
29 29
      */
30
-    public function __construct(Route $route,ResponseInterface $response)
30
+    public function __construct(Route $route, ResponseInterface $response)
31 31
     {
32 32
         $this->route = $route;
33 33
         $this->response = $response;
@@ -48,13 +48,13 @@  discard block
 block discarded – undo
48 48
                 ? $count++
49 49
                 : $dependencies[] = call_user_func_array($this->route->getTarget('di'), [$arg->getClass()->name]);
50 50
         }
51
-        if($count == count($this->route->getParameters())) {
51
+        if ($count == count($this->route->getParameters())) {
52 52
             $dependencies = array_merge($dependencies, ($this->route->getParameters() == '') ? [] : $this->route->getParameters());
53 53
             if ($this->response->getStatusCode() == 202)
54 54
                 $this->response->setStatusCode(200);
55 55
             if (is_array($content = $reflectionMethod->invokeArgs($this->getController(), $dependencies))) $this->route->addTarget('data', $content);
56 56
             elseif (!is_null($content)) $this->response->setContent($content);
57
-        }else
57
+        } else
58 58
             $this->response->setStatusCode(404);
59 59
     }
60 60
 
@@ -67,17 +67,17 @@  discard block
 block discarded – undo
67 67
     {
68 68
         $reflector = new ReflectionClass($this->route->getTarget('controller'));
69 69
         if (!$reflector->isInstantiable())
70
-            throw new \Exception('Target [' . $this->route->getTarget('controller') . '] is not instantiable.');
70
+            throw new \Exception('Target ['.$this->route->getTarget('controller').'] is not instantiable.');
71 71
         $constructor = $reflector->getConstructor();
72 72
         if (is_null($constructor)) {
73 73
             $class = $this->route->getTarget('controller');
74
-            return call_user_func_array($this->route->getTarget('di'),[$class]);
74
+            return call_user_func_array($this->route->getTarget('di'), [$class]);
75 75
         }
76 76
         $dependencies = $constructor->getParameters();
77 77
         $arguments = [];
78 78
         foreach ($dependencies as $dep) {
79 79
             $class = $dep->getClass()->name;
80
-            array_push($arguments, call_user_func_array($this->route->getTarget('di'),[$class]));
80
+            array_push($arguments, call_user_func_array($this->route->getTarget('di'), [$class]));
81 81
         }
82 82
         return $reflector->newInstanceArgs($arguments);
83 83
     }
Please login to merge, or discard this patch.
Braces   +14 added lines, -8 removed lines patch added patch discarded remove patch
@@ -50,12 +50,17 @@  discard block
 block discarded – undo
50 50
         }
51 51
         if($count == count($this->route->getParameters())) {
52 52
             $dependencies = array_merge($dependencies, ($this->route->getParameters() == '') ? [] : $this->route->getParameters());
53
-            if ($this->response->getStatusCode() == 202)
54
-                $this->response->setStatusCode(200);
55
-            if (is_array($content = $reflectionMethod->invokeArgs($this->getController(), $dependencies))) $this->route->addTarget('data', $content);
56
-            elseif (!is_null($content)) $this->response->setContent($content);
57
-        }else
58
-            $this->response->setStatusCode(404);
53
+            if ($this->response->getStatusCode() == 202) {
54
+                            $this->response->setStatusCode(200);
55
+            }
56
+            if (is_array($content = $reflectionMethod->invokeArgs($this->getController(), $dependencies))) {
57
+                $this->route->addTarget('data', $content);
58
+            } elseif (!is_null($content)) {
59
+                $this->response->setContent($content);
60
+            }
61
+        } else {
62
+                    $this->response->setStatusCode(404);
63
+        }
59 64
     }
60 65
 
61 66
 
@@ -66,8 +71,9 @@  discard block
 block discarded – undo
66 71
     private function getController()
67 72
     {
68 73
         $reflector = new ReflectionClass($this->route->getTarget('controller'));
69
-        if (!$reflector->isInstantiable())
70
-            throw new \Exception('Target [' . $this->route->getTarget('controller') . '] is not instantiable.');
74
+        if (!$reflector->isInstantiable()) {
75
+                    throw new \Exception('Target [' . $this->route->getTarget('controller') . '] is not instantiable.');
76
+        }
71 77
         $constructor = $reflector->getConstructor();
72 78
         if (is_null($constructor)) {
73 79
             $class = $this->route->getTarget('controller');
Please login to merge, or discard this patch.