diff --git a/src/Pecee/SimpleRouter/RouterEntry.php b/src/Pecee/SimpleRouter/RouterEntry.php index 4700b59..d17dc7c 100644 --- a/src/Pecee/SimpleRouter/RouterEntry.php +++ b/src/Pecee/SimpleRouter/RouterEntry.php @@ -376,7 +376,11 @@ abstract class RouterEntry { throw new RouterException(sprintf('Method %s does not exist in class %s', $method, $className), 404); } - call_user_func_array(array($class, $method), $this->getParameters()); + $parameters = array_filter($this->getParameters(), function($var){ + return !is_null($var); + }); + + call_user_func_array(array($class, $method), $parameters); return $class; } diff --git a/src/Pecee/SimpleRouter/RouterRoute.php b/src/Pecee/SimpleRouter/RouterRoute.php index 66fe161..2c0cc09 100644 --- a/src/Pecee/SimpleRouter/RouterRoute.php +++ b/src/Pecee/SimpleRouter/RouterRoute.php @@ -40,10 +40,18 @@ class RouterRoute extends RouterEntry { $parameters = $this->parseParameters($route, $url); if($parameters !== null) { - $this->parameters = $parameters; + + if(is_array($this->parameters)) { + $this->parameters = array_merge($this->parameters, $parameters); + } else { + $this->parameters = $parameters; + } + return true; } + + return null; }