Removed router merging.

This commit is contained in:
flash 2023-09-11 20:08:15 +00:00
parent 3dbf0fa85f
commit 405724ec3f
6 changed files with 9 additions and 58 deletions

View file

@ -1 +1 @@
0.2309.111944
0.2309.112008

View file

@ -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.
*

View file

@ -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.
*

View file

@ -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
*/

View file

@ -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);
}
/**

View file

@ -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;