mirror of
https://github.com/skipperbent/simple-php-router.git
synced 2026-07-12 03:12:13 +00:00
Merge pull request #60 from skipperbent/development
[BUGFIX] Minor bugfixes and optimisations
This commit is contained in:
@@ -327,6 +327,10 @@ class RouterBase {
|
|||||||
return $url;
|
return $url;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if($controller === null && $this->loadedRoute !== null) {
|
||||||
|
return $this->processUrl($this->loadedRoute, $this->loadedRoute->getMethod(), $parameters, $getParams);
|
||||||
|
}
|
||||||
|
|
||||||
$c = '';
|
$c = '';
|
||||||
$method = null;
|
$method = null;
|
||||||
|
|
||||||
|
|||||||
@@ -278,7 +278,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 .')\\/';
|
||||||
@@ -314,6 +314,10 @@ abstract class RouterEntry {
|
|||||||
throw new RouterException('Missing required parameter ' . $name['name'], 404);
|
throw new RouterException('Missing required parameter ' . $name['name'], 404);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(!$name['required'] && $parameterValue === null) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
$parameters[$name['name']] = $parameterValue;
|
$parameters[$name['name']] = $parameterValue;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
namespace Pecee\SimpleRouter;
|
namespace Pecee\SimpleRouter;
|
||||||
|
|
||||||
|
use Pecee\ArrayUtil;
|
||||||
use Pecee\Http\Request;
|
use Pecee\Http\Request;
|
||||||
|
|
||||||
class RouterRoute extends RouterEntry {
|
class RouterRoute extends RouterEntry {
|
||||||
@@ -40,11 +41,11 @@ class RouterRoute extends RouterEntry {
|
|||||||
|
|
||||||
if($parameters !== null) {
|
if($parameters !== null) {
|
||||||
|
|
||||||
if(is_array($this->parameters)) {
|
//if(is_array($this->parameters)) {
|
||||||
$this->parameters = array_merge($this->parameters, $parameters);
|
// $this->parameters = array_merge($this->parameters, $parameters);
|
||||||
} else {
|
//} else {
|
||||||
$this->parameters = $parameters;
|
$this->parameters = $parameters;
|
||||||
}
|
//}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@@ -74,7 +75,7 @@ class RouterRoute extends RouterEntry {
|
|||||||
if(count($parameters)) {
|
if(count($parameters)) {
|
||||||
$tmp = array();
|
$tmp = array();
|
||||||
foreach($parameters as $param) {
|
foreach($parameters as $param) {
|
||||||
$tmp[$param] = '';
|
$tmp[$param] = null;
|
||||||
}
|
}
|
||||||
$this->parameters = $tmp;
|
$this->parameters = $tmp;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user