- Moved middleware stuff back to Route class.
- Fixed Tests not working due to invalid method.
- Updated depricated method-calls in demo-project.
This commit is contained in:
Simon Sessingø
2016-11-21 04:06:45 +01:00
parent efe5767220
commit dfd32c0904
7 changed files with 71 additions and 83 deletions
+44
View File
@@ -36,6 +36,7 @@ abstract class Route implements IRoute
protected $requestMethods = [];
protected $where = [];
protected $parameters = [];
protected $middlewares = [];
public function renderRoute(Request $request)
{
@@ -380,6 +381,10 @@ abstract class Route implements IRoute
$values['parameters'] = $this->parameters;
}
if (count($this->middlewares) > 0) {
$values['middleware'] = $this->middlewares;
}
return $values;
}
@@ -408,6 +413,11 @@ abstract class Route implements IRoute
$this->setParameters(array_merge($this->parameters, (array)$values['parameters']));
}
// Push middleware if multiple
if (isset($values['middleware'])) {
$this->setMiddlewares(array_merge((array)$values['middleware'], $this->middlewares));
}
return $this;
}
@@ -470,4 +480,38 @@ abstract class Route implements IRoute
return $this;
}
/**
* Set middleware class-name
*
* @param string $middleware
* @return static
*/
public function setMiddleware($middleware)
{
$this->middlewares[] = $middleware;
return $this;
}
/**
* Set middlewares array
*
* @param array $middlewares
* @return $this
*/
public function setMiddlewares(array $middlewares)
{
$this->middlewares = $middlewares;
return $this;
}
/**
* @return string|array
*/
public function getMiddlewares()
{
return $this->middlewares;
}
}