Merge pull request #173 from skipperbent/v2-development

Development
This commit is contained in:
Simon Sessingø
2016-11-21 09:30:58 +02:00
committed by GitHub
3 changed files with 10 additions and 6 deletions
+2 -2
View File
@@ -290,10 +290,10 @@ use Pecee\SimpleRouter\SimpleRouter;
* *
* @param string|null $name * @param string|null $name
* @param string|array|null $parameters * @param string|array|null $parameters
* @param array $getParams * @param array|null $getParams
* @return string * @return string
*/ */
function url($name = null, $parameters = null, array $getParams = array()) { function url($name = null, $parameters = null, $getParams = null) {
SimpleRouter::getUrl($name, $parameters, $getParams); SimpleRouter::getUrl($name, $parameters, $getParams);
} }
+7 -3
View File
@@ -384,14 +384,17 @@ class Router
* @param array|null $getParams * @param array|null $getParams
* @return string * @return string
*/ */
public function getUrl($name = null, $parameters = null, $getParams = []) public function getUrl($name = null, $parameters = null, $getParams = null)
{ {
if ($getParams !== null && is_array($getParams) === false) { if ($getParams !== null && is_array($getParams) === false) {
throw new \InvalidArgumentException('Invalid type for getParams. Must be array or null'); throw new \InvalidArgumentException('Invalid type for getParams. Must be array or null');
} }
if ($getParams === null) { /* Only merge $_GET when all parameters are null */
if ($name === null && $parameters === null && $getParams === null) {
$getParams = $_GET; $getParams = $_GET;
} else {
$getParams = (array)$getParams;
} }
/* Return current route if no options has been specified */ /* Return current route if no options has been specified */
@@ -435,7 +438,8 @@ class Router
} }
/* No result so we assume that someone is using a hardcoded url and join everything together. */ /* No result so we assume that someone is using a hardcoded url and join everything together. */
return '/' . trim(join('/', array_merge((array)$name, (array)$parameters)), '/') . $this->arrayToParams($getParams); $url = trim(join('/', array_merge((array)$name, (array)$parameters)), '/');
return (($url === '') ? '/' : '/' . $url . '/') . $this->arrayToParams($getParams);
} }
/** /**
+1 -1
View File
@@ -311,7 +311,7 @@ class SimpleRouter
* @param array|null $getParams * @param array|null $getParams
* @return string * @return string
*/ */
public static function getUrl($name = null, $parameters = null, $getParams = []) public static function getUrl($name = null, $parameters = null, $getParams = null)
{ {
return static::router()->getUrl($name, $parameters, $getParams); return static::router()->getUrl($name, $parameters, $getParams);
} }