mirror of
https://github.com/skipperbent/simple-php-router.git
synced 2026-07-11 03:52:17 +00:00
Development
- Only add $_GET param is every other parameter is null when calling getUrl.
This commit is contained in:
@@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -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);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user