Version 3

- Easier rewrite management.
- Optimisations.
- Updated documentation.
This commit is contained in:
Simon Sessingø
2017-02-09 13:18:05 +01:00
parent bf069c2d42
commit ce276bd5b7
19 changed files with 416 additions and 283 deletions
@@ -20,9 +20,8 @@ interface ILoadableRoute extends IRoute
* Loads and renders middlewares-classes
*
* @param Request $request
* @param ILoadableRoute $route
*/
public function loadMiddleware(Request $request, ILoadableRoute $route);
public function loadMiddleware(Request $request);
public function getUrl();
+2 -1
View File
@@ -8,10 +8,11 @@ interface IRoute
/**
* Method called to check if a domain matches
*
* @param string $route
* @param Request $request
* @return bool
*/
public function matchRoute(Request $request);
public function matchRoute($route, Request $request);
/**
* Called when route is matched.
@@ -23,10 +23,9 @@ abstract class LoadableRoute extends Route implements ILoadableRoute
* Loads and renders middlewares-classes
*
* @param Request $request
* @param ILoadableRoute $route
* @throws HttpException
*/
public function loadMiddleware(Request $request, ILoadableRoute $route)
public function loadMiddleware(Request $request)
{
if (count($this->getMiddlewares()) > 0) {
@@ -42,7 +41,7 @@ abstract class LoadableRoute extends Route implements ILoadableRoute
throw new HttpException($middleware . ' must be instance of Middleware');
}
$middleware->handle($request, $route);
$middleware->handle($request);
}
}
}
@@ -83,9 +83,9 @@ class RouteController extends LoadableRoute implements IControllerRoute
return '/' . trim($url, '/') . '/';
}
public function matchRoute(Request $request)
public function matchRoute($url, Request $request)
{
$url = parse_url(urldecode($request->getUri()), PHP_URL_PATH);
$url = parse_url(urldecode($url), PHP_URL_PATH);
$url = rtrim($url, '/') . '/';
/* Match global regular-expression for route */
+3 -2
View File
@@ -40,13 +40,14 @@ class RouteGroup extends Route implements IGroupRoute
/**
* Method called to check if route matches
*
* @param string $url
* @param Request $request
* @return bool
*/
public function matchRoute(Request $request)
public function matchRoute($url, Request $request)
{
/* Skip if prefix doesn't match */
if ($this->prefix !== null && stripos($request->getUri(), $this->prefix) === false) {
if ($this->prefix !== null && stripos($url, $this->prefix) === false) {
return false;
}
@@ -76,9 +76,9 @@ class RouteResource extends LoadableRoute implements IControllerRoute
return true;
}
public function matchRoute(Request $request)
public function matchRoute($url, Request $request)
{
$url = parse_url(urldecode($request->getUri()), PHP_URL_PATH);
$url = parse_url(urldecode($url), PHP_URL_PATH);
$url = rtrim($url, '/') . '/';
/* Match global regular-expression for route */
+2 -2
View File
@@ -11,9 +11,9 @@ class RouteUrl extends LoadableRoute
$this->setCallback($callback);
}
public function matchRoute(Request $request)
public function matchRoute($url, Request $request)
{
$url = parse_url(urldecode($request->getUri()), PHP_URL_PATH);
$url = parse_url(urldecode($url), PHP_URL_PATH);
$url = rtrim($url, '/') . '/';
/* Match global regular-expression for route */