[BUGFIX] Enchanched regular expression for optinal parameters to

completely ignore path seperators (/).
This commit is contained in:
Simon Sessingø
2016-01-15 10:06:13 +01:00
parent bb6f56ef8c
commit b096742d6b
2 changed files with 43 additions and 38 deletions
+1 -1
View File
@@ -274,7 +274,7 @@ abstract class RouterEntry {
if($lastCharacter === '?') { if($lastCharacter === '?') {
$parameter = substr($parameter, 0, strlen($parameter)-1); $parameter = substr($parameter, 0, strlen($parameter)-1);
$regex .= '\\/(?:(?P<'.$parameter.'>[^\/]*)\\/?)'; $regex .= '(?:\\/?(?P<'.$parameter.'>[^\/]*)?\\/?)';
$required = false; $required = false;
} else { } else {
$regex .= '\\/(?P<' . $parameter . '>'. $parameterRegex .')\\/'; $regex .= '\\/(?P<' . $parameter . '>'. $parameterRegex .')\\/';
@@ -53,6 +53,8 @@ class RouterResource extends RouterEntry {
$parameters = $this->parseParameters($route, $url, '[0-9]*?'); $parameters = $this->parseParameters($route, $url, '[0-9]*?');
if($parameters !== null) {
if(is_array($parameters)) { if(is_array($parameters)) {
$parameters = array_merge($this->parameters, $parameters); $parameters = array_merge($this->parameters, $parameters);
} }
@@ -94,6 +96,9 @@ class RouterResource extends RouterEntry {
return $this->call('index', $parameters); return $this->call('index', $parameters);
} }
return null;
}
/** /**
* @return string * @return string
*/ */