- Fixed getIp in HttpRequest class not picking up local-ip.

- Made setdefaultNamespace method chainable.
- Simplified SimpleRouter class.
This commit is contained in:
Simon Sessingø
2016-04-11 22:37:15 +02:00
parent f3ac9dc47c
commit 3da7c4b446
3 changed files with 32 additions and 50 deletions
+1 -1
View File
@@ -93,7 +93,7 @@ class Request {
* @return string * @return string
*/ */
public function getIp() { public function getIp() {
return isset($_SERVER['HTTP_X_FORWARDED_FOR']) ? $_SERVER['HTTP_X_FORWARDED_FOR'] : $_SERVER['REMOTE_ADDR']; return ((isset($_SERVER['HTTP_X_FORWARDED_FOR']) && strlen($_SERVER['HTTP_X_FORWARDED_FOR'])) ? $_SERVER['HTTP_X_FORWARDED_FOR'] : $_SERVER['REMOTE_ADDR']);
} }
/** /**
+2
View File
@@ -213,9 +213,11 @@ class RouterBase {
/** /**
* @param string $defaultNamespace * @param string $defaultNamespace
* @return static
*/ */
public function setDefaultNamespace($defaultNamespace) { public function setDefaultNamespace($defaultNamespace) {
$this->defaultNamespace = $defaultNamespace; $this->defaultNamespace = $defaultNamespace;
return $this;
} }
/** /**
+29 -49
View File
@@ -19,9 +19,7 @@ class SimpleRouter {
* @throws \Pecee\Exception\RouterException * @throws \Pecee\Exception\RouterException
*/ */
public static function start($defaultNamespace = null) { public static function start($defaultNamespace = null) {
$router = RouterBase::getInstance(); RouterBase::getInstance()->setDefaultNamespace($defaultNamespace)->routeRequest();
$router->setDefaultNamespace($defaultNamespace);
$router->routeRequest();
} }
/** /**
@@ -37,47 +35,19 @@ class SimpleRouter {
} }
public static function get($url, $callback, array $settings = null) { public static function get($url, $callback, array $settings = null) {
$route = new RouterRoute($url, $callback); return self::match(['get'], $url, $callback, $settings);
$route->addSettings($settings);
$route->setRequestMethods(array(RouterRoute::REQUEST_TYPE_GET));
$router = RouterBase::getInstance();
$router->addRoute($route);
return $route;
} }
public static function post($url, $callback, array $settings = null) { public static function post($url, $callback, array $settings = null) {
$route = new RouterRoute($url, $callback); return self::match(['post'], $url, $callback, $settings);
$route->addSettings($settings);
$route->setRequestMethods(array(RouterRoute::REQUEST_TYPE_POST));
$router = RouterBase::getInstance();
$router->addRoute($route);
return $route;
} }
public static function put($url, $callback, array $settings = null) { public static function put($url, $callback, array $settings = null) {
$route = new RouterRoute($url, $callback); return self::match(['put'], $url, $callback, $settings);
$route->addSettings($settings);
$route->setRequestMethods(array(RouterRoute::REQUEST_TYPE_PUT, RouterRoute::REQUEST_TYPE_PATCH));
$router = RouterBase::getInstance();
$router->addRoute($route);
return $route;
} }
public static function delete($url, $callback, array $settings = null) { public static function delete($url, $callback, array $settings = null) {
$route = new RouterRoute($url, $callback); return self::match(['delete'], $url, $callback, $settings);
$route->addSettings($settings);
$route->setRequestMethods(array(RouterRoute::REQUEST_TYPE_DELETE));
$router = RouterBase::getInstance();
$router->addRoute($route);
return $route;
} }
public static function group($settings = array(), $callback) { public static function group($settings = array(), $callback) {
@@ -88,8 +58,7 @@ class SimpleRouter {
$group->setSettings($settings); $group->setSettings($settings);
} }
$router = RouterBase::getInstance(); RouterBase::getInstance()->addRoute($group);
$router->addRoute($group);
return $group; return $group;
} }
@@ -109,37 +78,48 @@ class SimpleRouter {
public static function match(array $requestMethods, $url, $callback, array $settings = null) { public static function match(array $requestMethods, $url, $callback, array $settings = null) {
$route = new RouterRoute($url, $callback); $route = new RouterRoute($url, $callback);
$route->setRequestMethods($requestMethods); $route->setRequestMethods($requestMethods);
$route->addSettings($settings);
$router = RouterBase::getInstance(); if($settings !== null) {
$router->addRoute($route); $route->addSettings($settings);
}
RouterBase::getInstance()->addRoute($route);
return $route; return $route;
} }
public static function all($url, $callback, array $settings = null) { public static function all($url, $callback, array $settings = null) {
$route = new RouterRoute($url, $callback); $route = new RouterRoute($url, $callback);
$route->addSettings($settings);
$router = RouterBase::getInstance(); if($settings !== null) {
$router->addRoute($route); $route->addSettings($settings);
}
RouterBase::getInstance()->addRoute($route);
return $route; return $route;
} }
public static function controller($url, $controller, array $settings = null) { public static function controller($url, $controller, array $settings = null) {
$route = new RouterController($url, $controller); $route = new RouterController($url, $controller);
$route->addSettings($settings);
$router = RouterBase::getInstance(); if($settings !== null) {
$router->addRoute($route); $route->addSettings($settings);
}
RouterBase::getInstance()->addRoute($route);
return $route; return $route;
} }
public static function resource($url, $controller, array $settings = null) { public static function resource($url, $controller, array $settings = null) {
$route = new RouterResource($url, $controller); $route = new RouterResource($url, $controller);
$route->addSettings($settings);
$router = RouterBase::getInstance(); if($settings !== null) {
$router->addRoute($route); $route->addSettings($settings);
}
RouterBase::getInstance()->addRoute($route);
return $route; return $route;
} }