From b350693aca4b8a4e64ebca38a2274c850a73d596 Mon Sep 17 00:00:00 2001 From: PJ Dietz Date: Sat, 21 Feb 2015 09:52:23 -0500 Subject: [PATCH] Rearrange Route --- src/pjdietz/WellRESTed/Router.php | 57 +++++++++++++++---------------- 1 file changed, 28 insertions(+), 29 deletions(-) diff --git a/src/pjdietz/WellRESTed/Router.php b/src/pjdietz/WellRESTed/Router.php index 3aa1b23..6320930 100644 --- a/src/pjdietz/WellRESTed/Router.php +++ b/src/pjdietz/WellRESTed/Router.php @@ -24,17 +24,28 @@ use pjdietz\WellRESTed\Routes\StaticRoute; */ class Router implements HandlerInterface { - /** @var array Hash array HTTP verb => RouteTable */ - private $routeTables; - /** @var array Hash array of status code => error handler */ private $errorHandlers; + /** @var array Hash array HTTP verb => RouteTable */ + private $routeTables; /** Create a new Router. */ public function __construct() { - $this->routeTables = array(); $this->errorHandlers = array(); + $this->routeTables = array(); + } + + /** + * Append a new route to the route table. + * + * @param HandlerInterface $route + * @param string $method HTTP Method; * for any + */ + public function addRoute(HandlerInterface $route, $method = "*") + { + $table = $this->getRouteTable($method); + $table->addRoute($route); } /** @@ -96,7 +107,7 @@ class Router implements HandlerInterface } return $response; } - + /** * Prepare a response indicating a 404 Not Found error * @@ -115,6 +126,14 @@ class Router implements HandlerInterface return $response; } + private function getRouteTable($method = "*") + { + if (!isset($this->routeTables[$method])) { + $this->routeTables[$method] = new RouteTable(); + } + return $this->routeTables[$method]; + } + private function getResponseFromRouteTables(RequestInterface $request, array $args = null) { $method = $request->getMethod(); @@ -170,6 +189,10 @@ class Router implements HandlerInterface return $response; } + //////////////// + // Deprecated // + //////////////// + /** * @deprecated Use {@see addRoute} instead. * @see addRoute @@ -180,30 +203,6 @@ class Router implements HandlerInterface trigger_error("Router::setPrefixRoute is deprecated. Use addRoute", E_USER_DEPRECATED); } - /** - * Append a new route to the route table. - * - * @param HandlerInterface $route - * @param string $method HTTP Method; * for any - */ - public function addRoute(HandlerInterface $route, $method = "*") - { - $table = $this->getRouteTable($method); - $table->addRoute($route); - } - - //////////////// - // Deprecated // - //////////////// - - private function getRouteTable($method = "*") - { - if (!isset($this->routeTables[$method])) { - $this->routeTables[$method] = new RouteTable(); - } - return $this->routeTables[$method]; - } - /** * @deprecated Use {@see addRoute} instead. * @see addRoute