More changes

This commit is contained in:
Simon Sessingø
2016-11-19 05:06:47 +01:00
parent 8f33cc1a39
commit 4e12cb8bc3
5 changed files with 22 additions and 22 deletions
+1 -1
View File
@@ -10,7 +10,7 @@ class InputCollection implements \IteratorAggregate
* *
* @param string $index * @param string $index
* @param string|null $default * @param string|null $default
* @return InputItem * @return InputItem|mixed
*/ */
public function findFirst($index, $default = null) public function findFirst($index, $default = null)
{ {
+7 -6
View File
@@ -3,7 +3,9 @@ namespace Pecee\SimpleRouter;
abstract class LoadableRoute extends RouterEntry implements ILoadableRoute abstract class LoadableRoute extends RouterEntry implements ILoadableRoute
{ {
const PARAMETERS_REGEX_MATCH = '{([A-Za-z\-\_]*?)\?{0,1}}'; const PARAMETERS_REGEX_MATCH = '%s([\w\-\_]*?)\%s{0,1}%s';
const PARAMETER_MODIFIERS = '{}';
const PARAMETER_OPTIONAL_SYMBOL = '?';
protected $url; protected $url;
protected $alias; protected $alias;
@@ -22,12 +24,11 @@ abstract class LoadableRoute extends RouterEntry implements ILoadableRoute
public function setUrl($url) public function setUrl($url)
{ {
$this->url = ($url === '/') ? '/' : '/' . trim($url, '/') . '/'; $this->url = ($url === '/') ? '/' : '/' . trim($url, '/') . '/';
$regex = sprintf(static::PARAMETERS_REGEX_MATCH, static::PARAMETER_MODIFIERS[0], static::PARAMETER_OPTIONAL_SYMBOL, static::PARAMETER_MODIFIERS[1]);
if (preg_match_all('/' . static::PARAMETERS_REGEX_MATCH . '/is', $this->url, $matches)) { if (preg_match_all('/' . $regex . '/is', $this->url, $matches)) {
if (count($matches[1]) > 0) { foreach ($matches[1] as $key) {
foreach ($matches[1] as $key) { $this->parameters[$key] = null;
$this->parameters[$key] = null;
}
} }
} }
+5 -5
View File
@@ -10,11 +10,11 @@ use Pecee\Http\Response;
class RouterBase class RouterBase
{ {
/**
* @var static
*/
protected static $instance; protected static $instance;
protected $parameterModifiers = '{}';
protected $parameterOptionalSymbol = '?';
/** /**
* Current request * Current request
* @var Request * @var Request
@@ -341,8 +341,8 @@ class RouterBase
foreach ($params as $param => $value) { foreach ($params as $param => $value) {
$value = (isset($parameters[$param])) ? $parameters[$param] : $value; $value = (isset($parameters[$param])) ? $parameters[$param] : $value;
$param1 = $this->parameterModifiers[0] . $param . $this->parameterModifiers[1]; $param1 = LoadableRoute::PARAMETER_MODIFIERS[0] . $param . LoadableRoute::PARAMETER_MODIFIERS[1];
$param2 = $this->parameterModifiers[0] . $param . $this->parameterOptionalSymbol . $this->parameterModifiers[1]; $param2 = LoadableRoute::PARAMETER_MODIFIERS[0] . $param . LoadableRoute::PARAMETER_OPTIONAL_SYMBOL . LoadableRoute::PARAMETER_MODIFIERS[1];
if (stripos($url, $param1) !== false || stripos($url, $param) !== false) { if (stripos($url, $param1) !== false || stripos($url, $param) !== false) {
$url = str_ireplace([$param1, $param2], $value, $url); $url = str_ireplace([$param1, $param2], $value, $url);
+4 -4
View File
@@ -376,9 +376,9 @@ abstract class RouterEntry
$output['middleware'] = $this->middlewares; $output['middleware'] = $this->middlewares;
} }
if (count($this->where) > 0) { /*if (count($this->where) > 0) {
//$output['where'] = $this->where; $output['where'] = $this->where;
} }*/
if (count($this->requestMethods) > 0) { if (count($this->requestMethods) > 0) {
$output['method'] = $this->requestMethods; $output['method'] = $this->requestMethods;
@@ -399,7 +399,7 @@ abstract class RouterEntry
*/ */
public function setData(array $settings) public function setData(array $settings)
{ {
if (isset($settings['namespace']) && $this->namespace === null) { if (isset($settings['namespace'])) {
$this->setNamespace($settings['namespace']); $this->setNamespace($settings['namespace']);
} }
+5 -6
View File
@@ -201,13 +201,12 @@ class SimpleRouter
{ {
$route = new RouterRoute($url, $callback); $route = new RouterRoute($url, $callback);
$route->setRequestMethods($requestMethods); $route->setRequestMethods($requestMethods);
$route = static::addDefaultNamespace($route);
if ($settings !== null) { if ($settings !== null) {
$route->setData($settings); $route->setData($settings);
} }
$route = static::addDefaultNamespace($route);
static::router()->addRoute($route); static::router()->addRoute($route);
return $route; return $route;
@@ -225,12 +224,12 @@ class SimpleRouter
{ {
$route = new RouterRoute($url, $callback); $route = new RouterRoute($url, $callback);
$route = static::addDefaultNamespace($route);
if ($settings !== null) { if ($settings !== null) {
$route->setData($settings); $route->setData($settings);
} }
$route = static::addDefaultNamespace($route);
static::router()->addRoute($route); static::router()->addRoute($route);
return $route; return $route;
@@ -248,12 +247,12 @@ class SimpleRouter
{ {
$route = new RouterController($url, $controller); $route = new RouterController($url, $controller);
$route = static::addDefaultNamespace($route);
if ($settings !== null) { if ($settings !== null) {
$route->setData($settings); $route->setData($settings);
} }
$route = static::addDefaultNamespace($route);
static::router()->addRoute($route); static::router()->addRoute($route);
return $route; return $route;