diff --git a/src/Pecee/SimpleRouter/Route/Route.php b/src/Pecee/SimpleRouter/Route/Route.php index 9545257..1e04dde 100644 --- a/src/Pecee/SimpleRouter/Route/Route.php +++ b/src/Pecee/SimpleRouter/Route/Route.php @@ -70,7 +70,7 @@ abstract class Route implements IRoute $callback = $this->getCallback(); if ($callback === null) { - return; + return null; } /* Render callback function */ @@ -162,7 +162,7 @@ abstract class Route implements IRoute if (isset($parameters[1]) === true) { /* Only take matched parameters with name */ - foreach ($parameters[1] as $name) { + foreach ((array)$parameters[1] as $name) { $values[$name] = (isset($matches[$name]) && $matches[$name] !== '') ? $matches[$name] : null; } } diff --git a/src/Pecee/SimpleRouter/Route/RouteGroup.php b/src/Pecee/SimpleRouter/Route/RouteGroup.php index d15c343..d4dd64d 100644 --- a/src/Pecee/SimpleRouter/Route/RouteGroup.php +++ b/src/Pecee/SimpleRouter/Route/RouteGroup.php @@ -48,7 +48,7 @@ class RouteGroup extends Route implements IGroupRoute */ public function matchRoute($url, Request $request) { - if($this->prefix !== null) { + if ($this->prefix !== null) { /* Parse parameters from current route */ $parameters = $this->parseParameters($this->prefix, $url); @@ -162,7 +162,7 @@ class RouteGroup extends Route implements IGroupRoute $this->setExceptionHandlers((array)$values['exceptionHandler']); } - if ($merge === false &&isset($values['domain'])) { + if ($merge === false && isset($values['domain'])) { $this->setDomains((array)$values['domain']); } diff --git a/src/Pecee/SimpleRouter/Router.php b/src/Pecee/SimpleRouter/Router.php index 5fd5824..02837fc 100644 --- a/src/Pecee/SimpleRouter/Router.php +++ b/src/Pecee/SimpleRouter/Router.php @@ -258,6 +258,7 @@ class Router if ($rewriteUrl !== null && $rewriteUrl !== $url) { unset($this->processedRoutes[$i]); $this->processedRoutes = array_values($this->processedRoutes); + return $this->routeRequest(true); } @@ -334,6 +335,7 @@ class Router if ($rewriteUrl !== null && $rewriteUrl !== $url) { unset($this->exceptionHandlers[$i]); $this->exceptionHandlers = array_values($this->exceptionHandlers); + return $this->routeRequest(true); } } diff --git a/test/RouterGroupTest.php b/test/RouterGroupTest.php new file mode 100644 index 0000000..ff806d7 --- /dev/null +++ b/test/RouterGroupTest.php @@ -0,0 +1,29 @@ + '{param1}/{param2}'], function ($param1 = null, $param2 = null) use (&$result1, &$result2) { + $result1 = $param1; + $result2 = $param2; + + TestRouter::get('/', 'DummyController@method1'); + }); + + TestRouter::debug('/param1/param2', 'get'); + + $this->assertEquals('param1', $result1); + $this->assertEquals('param2', $result2); + } + +} \ No newline at end of file