Merge pull request #220 from skipperbent/v3

V3
This commit is contained in:
Simon Sessingø
2017-02-13 06:47:36 +01:00
committed by GitHub
3 changed files with 35 additions and 10 deletions
+15 -5
View File
@@ -3,8 +3,8 @@ namespace Pecee\Http;
use Pecee\Http\Input\Input; use Pecee\Http\Input\Input;
use Pecee\SimpleRouter\Route\ILoadableRoute; use Pecee\SimpleRouter\Route\ILoadableRoute;
use Pecee\SimpleRouter\Route\IRoute;
use Pecee\SimpleRouter\Route\RouteUrl; use Pecee\SimpleRouter\Route\RouteUrl;
use Pecee\SimpleRouter\SimpleRouter;
class Request class Request
{ {
@@ -237,13 +237,25 @@ class Request
{ {
$this->rewriteRoute = $route; $this->rewriteRoute = $route;
$namespace = SimpleRouter::getDefaultNamespace();
if ($namespace !== null) {
if ($this->rewriteRoute->getNamespace() !== null) {
$namespace .= '\\' . $this->rewriteRoute->getNamespace();
}
$this->rewriteRoute->setDefaultNamespace($namespace);
}
return $this; return $this;
} }
/** /**
* Get rewrite route * Get rewrite route
* *
* @return IRoute|null * @return ILoadableRoute|null
*/ */
public function getRewriteRoute() public function getRewriteRoute()
{ {
@@ -280,9 +292,7 @@ class Request
*/ */
public function setRewriteCallback($callback) public function setRewriteCallback($callback)
{ {
$this->rewriteRoute = new RouteUrl($this->uri, $callback); return $this->setRewriteRoute(new RouteUrl($this->uri, $callback));
return $this;
} }
/** /**
+11 -5
View File
@@ -249,8 +249,11 @@ class Router
$route->loadMiddleware($this->request); $route->loadMiddleware($this->request);
if ($this->request->getRewriteRoute() !== null) { $rewriteRoute = $this->request->getRewriteRoute();
$this->request->getRewriteRoute()->renderRoute($this->request);
if ($rewriteRoute !== null) {
$rewriteRoute->loadMiddleware($this->request);
$rewriteRoute->renderRoute($this->request);
return; return;
} }
@@ -306,8 +309,11 @@ class Router
if ($handler->handleError($this->request, $e) !== null) { if ($handler->handleError($this->request, $e) !== null) {
if ($this->request->getRewriteRoute() !== null) { $rewriteRoute = $this->request->getRewriteRoute();
$this->request->getRewriteRoute()->renderRoute($this->request);
if ($rewriteRoute !== null) {
$rewriteRoute->loadMiddleware($this->request);
$rewriteRoute->renderRoute($this->request);
return; return;
} }
@@ -334,7 +340,7 @@ class Router
if ($includeEmpty === false) { if ($includeEmpty === false) {
$getParams = array_filter($getParams, function ($item) { $getParams = array_filter($getParams, function ($item) {
return (!empty($item)); return (trim($item) !== false);
}); });
} }
+9
View File
@@ -372,4 +372,13 @@ class SimpleRouter
return $route; return $route;
} }
/**
* Get default namespace
* @return string
*/
public static function getDefaultNamespace()
{
return static::$defaultNamespace;
}
} }