mirror of
https://github.com/skipperbent/simple-php-router.git
synced 2026-06-17 08:47:52 +00:00
- Fixed getIp in HttpRequest class not picking up local-ip.
- Made setdefaultNamespace method chainable. - Simplified SimpleRouter class.
This commit is contained in:
@@ -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']);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -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;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user