mirror of
https://github.com/skipperbent/simple-php-router.git
synced 2026-06-17 08:47:52 +00:00
Bugfixes
- 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:
@@ -3,7 +3,7 @@ use Pecee\SimpleRouter\SimpleRouter;
|
|||||||
|
|
||||||
function url($controller, $parameters = null, $getParams = null)
|
function url($controller, $parameters = null, $getParams = null)
|
||||||
{
|
{
|
||||||
SimpleRouter::getRoute($controller, $parameters, $getParams);
|
SimpleRouter::getUrl($controller, $parameters, $getParams);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -51,27 +51,4 @@ interface ILoadableRoute extends IRoute
|
|||||||
*/
|
*/
|
||||||
public function setName($name);
|
public function setName($name);
|
||||||
|
|
||||||
/**
|
|
||||||
* Get middlewares array
|
|
||||||
*
|
|
||||||
* @return array
|
|
||||||
*/
|
|
||||||
public function getMiddlewares();
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Set middleware class-name
|
|
||||||
*
|
|
||||||
* @param string $middleware
|
|
||||||
* @return static
|
|
||||||
*/
|
|
||||||
public function setMiddleware($middleware);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Set middlewares array
|
|
||||||
*
|
|
||||||
* @param array $middlewares
|
|
||||||
* @return $this
|
|
||||||
*/
|
|
||||||
public function setMiddlewares(array $middlewares);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -173,4 +173,27 @@ interface IRoute
|
|||||||
*/
|
*/
|
||||||
public function toArray();
|
public function toArray();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get middlewares array
|
||||||
|
*
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
public function getMiddlewares();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set middleware class-name
|
||||||
|
*
|
||||||
|
* @param string $middleware
|
||||||
|
* @return static
|
||||||
|
*/
|
||||||
|
public function setMiddleware($middleware);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set middlewares array
|
||||||
|
*
|
||||||
|
* @param array $middlewares
|
||||||
|
* @return $this
|
||||||
|
*/
|
||||||
|
public function setMiddlewares(array $middlewares);
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -11,7 +11,6 @@ abstract class LoadableRoute extends Route implements ILoadableRoute
|
|||||||
|
|
||||||
protected $url;
|
protected $url;
|
||||||
protected $name;
|
protected $name;
|
||||||
protected $middlewares = [];
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Loads and renders middlewares-classes
|
* Loads and renders middlewares-classes
|
||||||
@@ -155,22 +154,6 @@ abstract class LoadableRoute extends Route implements ILoadableRoute
|
|||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Export route settings to array so they can be merged with another route.
|
|
||||||
*
|
|
||||||
* @return array
|
|
||||||
*/
|
|
||||||
public function toArray()
|
|
||||||
{
|
|
||||||
$values = [];
|
|
||||||
|
|
||||||
if (count($this->middlewares) > 0) {
|
|
||||||
$values['middleware'] = $this->middlewares;
|
|
||||||
}
|
|
||||||
|
|
||||||
return array_merge(parent::toArray(), $values);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Merge with information from another route.
|
* Merge with information from another route.
|
||||||
*
|
*
|
||||||
@@ -192,48 +175,9 @@ abstract class LoadableRoute extends Route implements ILoadableRoute
|
|||||||
$this->setUrl($values['prefix'] . $this->getUrl());
|
$this->setUrl($values['prefix'] . $this->getUrl());
|
||||||
}
|
}
|
||||||
|
|
||||||
// Push middleware if multiple
|
|
||||||
if (isset($values['middleware'])) {
|
|
||||||
$this->setMiddlewares(array_merge((array)$values['middleware'], $this->middlewares));
|
|
||||||
}
|
|
||||||
|
|
||||||
parent::setSettings($values, $merge);
|
parent::setSettings($values, $merge);
|
||||||
|
|
||||||
return $this;
|
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;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -36,6 +36,7 @@ abstract class Route implements IRoute
|
|||||||
protected $requestMethods = [];
|
protected $requestMethods = [];
|
||||||
protected $where = [];
|
protected $where = [];
|
||||||
protected $parameters = [];
|
protected $parameters = [];
|
||||||
|
protected $middlewares = [];
|
||||||
|
|
||||||
public function renderRoute(Request $request)
|
public function renderRoute(Request $request)
|
||||||
{
|
{
|
||||||
@@ -380,6 +381,10 @@ abstract class Route implements IRoute
|
|||||||
$values['parameters'] = $this->parameters;
|
$values['parameters'] = $this->parameters;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (count($this->middlewares) > 0) {
|
||||||
|
$values['middleware'] = $this->middlewares;
|
||||||
|
}
|
||||||
|
|
||||||
return $values;
|
return $values;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -408,6 +413,11 @@ abstract class Route implements IRoute
|
|||||||
$this->setParameters(array_merge($this->parameters, (array)$values['parameters']));
|
$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;
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -470,4 +480,38 @@ abstract class Route implements IRoute
|
|||||||
return $this;
|
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;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
+2
-2
@@ -87,8 +87,8 @@ class GroupTest extends PHPUnit_Framework_TestCase
|
|||||||
|
|
||||||
SimpleRouter::start();
|
SimpleRouter::start();
|
||||||
|
|
||||||
$this->assertEquals('/my/fancy/url/1/', SimpleRouter::getRoute('fancy1'));
|
$this->assertEquals('/my/fancy/url/1/', SimpleRouter::getUrl('fancy1'));
|
||||||
$this->assertEquals('/my/fancy/url/2/', SimpleRouter::getRoute('fancy2'));
|
$this->assertEquals('/my/fancy/url/2/', SimpleRouter::getUrl('fancy2'));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ class RouterUrlTest extends PHPUnit_Framework_TestCase
|
|||||||
protected $result = false;
|
protected $result = false;
|
||||||
|
|
||||||
protected function getUrl($name = null, $parameters = null, array $getParams = []) {
|
protected function getUrl($name = null, $parameters = null, array $getParams = []) {
|
||||||
return SimpleRouter::getRoute($name, $parameters, $getParams);
|
return SimpleRouter::getUrl($name, $parameters, $getParams);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testUrls()
|
public function testUrls()
|
||||||
|
|||||||
Reference in New Issue
Block a user