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
|
<?php
|
||||||
// HttpFx.php
|
// HttpFx.php
|
||||||
// Created: 2022-02-15
|
// Created: 2022-02-15
|
||||||
// Updated: 2023-09-07
|
// Updated: 2023-09-11
|
||||||
|
|
||||||
namespace Index\Http;
|
namespace Index\Http;
|
||||||
|
|
||||||
|
@ -207,16 +207,6 @@ class HttpFx implements IRouter {
|
||||||
$this->router->use($path, $handler);
|
$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.
|
* Adds a new route.
|
||||||
*
|
*
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
<?php
|
<?php
|
||||||
// IRouter.php
|
// IRouter.php
|
||||||
// Created: 2023-01-06
|
// Created: 2023-01-06
|
||||||
// Updated: 2023-09-06
|
// Updated: 2023-09-11
|
||||||
|
|
||||||
namespace Index\Routing;
|
namespace Index\Routing;
|
||||||
|
|
||||||
|
@ -14,14 +14,6 @@ interface IRouter {
|
||||||
*/
|
*/
|
||||||
public function use(string $path, callable $handler): void;
|
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.
|
* Adds a new route.
|
||||||
*
|
*
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
<?php
|
<?php
|
||||||
// RouteInfo.php
|
// RouteInfo.php
|
||||||
// Created: 2022-01-20
|
// Created: 2022-01-20
|
||||||
// Updated: 2022-02-27
|
// Updated: 2023-09-11
|
||||||
|
|
||||||
namespace Index\Routing;
|
namespace Index\Routing;
|
||||||
|
|
||||||
|
@ -33,22 +33,6 @@ class RouteInfo {
|
||||||
return $child;
|
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
|
* @internal
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
<?php
|
<?php
|
||||||
// Router.php
|
// Router.php
|
||||||
// Created: 2022-01-18
|
// Created: 2022-01-18
|
||||||
// Updated: 2023-09-06
|
// Updated: 2023-09-11
|
||||||
|
|
||||||
namespace Index\Routing;
|
namespace Index\Routing;
|
||||||
|
|
||||||
|
@ -33,7 +33,7 @@ class Router implements IRouter {
|
||||||
if($method === 'head')
|
if($method === 'head')
|
||||||
$method = 'get';
|
$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.
|
* @param callable $handler Middleware function.
|
||||||
*/
|
*/
|
||||||
public function use(string $path, callable $handler): void {
|
public function use(string $path, callable $handler): void {
|
||||||
$this->route->addMiddleware(trim($path, '/'), $handler);
|
$this->route->addMiddleware($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);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -67,7 +57,7 @@ class Router implements IRouter {
|
||||||
if(empty($method))
|
if(empty($method))
|
||||||
throw new InvalidArgumentException('$method may not be empty.');
|
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
|
<?php
|
||||||
// RouterTest.php
|
// RouterTest.php
|
||||||
// Created: 2022-01-20
|
// Created: 2022-01-20
|
||||||
// Updated: 2023-09-08
|
// Updated: 2023-09-11
|
||||||
|
|
||||||
declare(strict_types=1);
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
@ -89,11 +89,6 @@ final class RouterTest extends TestCase {
|
||||||
});
|
});
|
||||||
|
|
||||||
$this->assertEquals(['meow', 'rules page'], $router2->resolve('GET', '/rules')->runAll());
|
$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());
|
$this->assertEquals(['meow', 'numeric test'], $router2->resolve('GET', '/25252')->runAll());
|
||||||
|
|
||||||
$router3 = new Router;
|
$router3 = new Router;
|
||||||
|
|
Loading…
Reference in a new issue