Removed router merging.
This commit is contained in:
parent
3dbf0fa85f
commit
405724ec3f
6 changed files with 9 additions and 58 deletions
2
VERSION
2
VERSION
|
@ -1 +1 @@
|
|||
0.2309.111944
|
||||
0.2309.112008
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?php
|
||||
// HttpFx.php
|
||||
// Created: 2022-02-15
|
||||
// Updated: 2023-09-07
|
||||
// Updated: 2023-09-11
|
||||
|
||||
namespace Index\Http;
|
||||
|
||||
|
@ -207,16 +207,6 @@ class HttpFx implements IRouter {
|
|||
$this->router->use($path, $handler);
|
||||
}
|
||||
|
||||
/**
|
||||
* Merges another router with this one with possibility of changing its root.
|
||||
*
|
||||
* @param string $path Base path to use.
|
||||
* @param Router $router Router object to inherit from.
|
||||
*/
|
||||
public function merge(string $path, Router $router): void {
|
||||
$this->router->merge($path, $router);
|
||||
}
|
||||
|
||||
/**
|
||||
* Adds a new route.
|
||||
*
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?php
|
||||
// IRouter.php
|
||||
// Created: 2023-01-06
|
||||
// Updated: 2023-09-06
|
||||
// Updated: 2023-09-11
|
||||
|
||||
namespace Index\Routing;
|
||||
|
||||
|
@ -14,14 +14,6 @@ interface IRouter {
|
|||
*/
|
||||
public function use(string $path, callable $handler): void;
|
||||
|
||||
/**
|
||||
* Merges another router with this one with possibility of changing its root.
|
||||
*
|
||||
* @param string $path Base path to use.
|
||||
* @param Router $router Router object to inherit from.
|
||||
*/
|
||||
public function merge(string $path, Router $router): void;
|
||||
|
||||
/**
|
||||
* Adds a new route.
|
||||
*
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?php
|
||||
// RouteInfo.php
|
||||
// Created: 2022-01-20
|
||||
// Updated: 2022-02-27
|
||||
// Updated: 2023-09-11
|
||||
|
||||
namespace Index\Routing;
|
||||
|
||||
|
@ -33,22 +33,6 @@ class RouteInfo {
|
|||
return $child;
|
||||
}
|
||||
|
||||
/**
|
||||
* @internal
|
||||
*/
|
||||
public function mergeRoute(string $path, RouteInfo $route): void {
|
||||
if($path === '') {
|
||||
$this->children = array_merge($this->children, $route->children);
|
||||
$this->methods = array_merge($this->methods, $route->methods);
|
||||
$this->middlewares = array_merge($this->middlewares, $route->middlewares);
|
||||
if($this->dynamicChild === null)
|
||||
$this->dynamicChild = $route->dynamicChild;
|
||||
return;
|
||||
}
|
||||
|
||||
$this->getChild($path, $next)->mergeRoute($next, $route);
|
||||
}
|
||||
|
||||
/**
|
||||
* @internal
|
||||
*/
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?php
|
||||
// Router.php
|
||||
// Created: 2022-01-18
|
||||
// Updated: 2023-09-06
|
||||
// Updated: 2023-09-11
|
||||
|
||||
namespace Index\Routing;
|
||||
|
||||
|
@ -33,7 +33,7 @@ class Router implements IRouter {
|
|||
if($method === 'head')
|
||||
$method = 'get';
|
||||
|
||||
return $this->route->resolve($method, trim($path, '/'), $args);
|
||||
return $this->route->resolve($method, $path, $args);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -43,17 +43,7 @@ class Router implements IRouter {
|
|||
* @param callable $handler Middleware function.
|
||||
*/
|
||||
public function use(string $path, callable $handler): void {
|
||||
$this->route->addMiddleware(trim($path, '/'), $handler);
|
||||
}
|
||||
|
||||
/**
|
||||
* Merges another router with this one with possibility of changing its root.
|
||||
*
|
||||
* @param string $path Base path to use.
|
||||
* @param Router $router Router object to inherit from.
|
||||
*/
|
||||
public function merge(string $path, Router $router): void {
|
||||
$this->route->mergeRoute(trim($path, '/'), $router->route);
|
||||
$this->route->addMiddleware($path, $handler);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -67,7 +57,7 @@ class Router implements IRouter {
|
|||
if(empty($method))
|
||||
throw new InvalidArgumentException('$method may not be empty.');
|
||||
|
||||
$this->route->addMethod($method, trim($path, '/'), $handler);
|
||||
$this->route->addMethod($method, $path, $handler);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?php
|
||||
// RouterTest.php
|
||||
// Created: 2022-01-20
|
||||
// Updated: 2023-09-08
|
||||
// Updated: 2023-09-11
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
|
@ -89,11 +89,6 @@ final class RouterTest extends TestCase {
|
|||
});
|
||||
|
||||
$this->assertEquals(['meow', 'rules page'], $router2->resolve('GET', '/rules')->runAll());
|
||||
|
||||
$router1->merge('/info', $router2);
|
||||
|
||||
$this->assertEquals(['warioware', 'meow', 'rules page'], $router1->resolve('GET', '/info/rules')->runAll());
|
||||
|
||||
$this->assertEquals(['meow', 'numeric test'], $router2->resolve('GET', '/25252')->runAll());
|
||||
|
||||
$router3 = new Router;
|
||||
|
|
Loading…
Reference in a new issue