[BUGFIX] Minor bugfixes and optimisations

- Fixed getRoute sometimes not passing current loaded route.
- Fixed optional parameters in some occasions not working properly.
This commit is contained in:
Simon Sessingø
2016-01-14 16:37:36 +01:00
parent 1332ef7139
commit 14a030294e
3 changed files with 15 additions and 6 deletions
+5 -1
View File
@@ -278,7 +278,7 @@ abstract class RouterEntry {
if($lastCharacter === '?') {
$parameter = substr($parameter, 0, strlen($parameter)-1);
$regex .= '\\/?(?P<'.$parameter.'>[^\/]*)\\/?';
$regex .= '\\/(?:(?P<'.$parameter.'>[^\/]*)\\/?)';
$required = false;
} else {
$regex .= '\\/(?P<' . $parameter . '>'. $parameterRegex .')\\/';
@@ -314,6 +314,10 @@ abstract class RouterEntry {
throw new RouterException('Missing required parameter ' . $name['name'], 404);
}
if(!$name['required'] && $parameterValue === null) {
continue;
}
$parameters[$name['name']] = $parameterValue;
}
}