refactor: use DefinedRouteCollector in DebugBar

This commit is contained in:
kenjis 2023-07-04 11:51:32 +09:00
parent d1224ccd97
commit 06faf737be
No known key found for this signature in database
GPG Key ID: BD254878922AF198

View File

@ -11,6 +11,7 @@
namespace CodeIgniter\Debug\Toolbar\Collectors;
use CodeIgniter\Router\DefinedRouteCollector;
use Config\Services;
use ReflectionException;
use ReflectionFunction;
@ -55,9 +56,6 @@ class Routes extends BaseCollector
$rawRoutes = Services::routes(true);
$router = Services::router(null, null, true);
// Matched Route
$route = $router->getMatchedRoute();
// Get our parameters
// Closure routes
if (is_callable($router->controllerName())) {
@ -100,32 +98,18 @@ class Routes extends BaseCollector
];
// Defined Routes
$routes = [];
$methods = [
'get',
'head',
'post',
'patch',
'put',
'delete',
'options',
'trace',
'connect',
'cli',
];
$routes = [];
foreach ($methods as $method) {
$raw = $rawRoutes->getRoutes($method);
$definedRouteCollector = new DefinedRouteCollector($rawRoutes);
foreach ($raw as $route => $handler) {
// filter for strings, as callbacks aren't displayable
if (is_string($handler)) {
$routes[] = [
'method' => strtoupper($method),
'route' => $route,
'handler' => $handler,
];
}
foreach ($definedRouteCollector->collect() as $route) {
// filter for strings, as callbacks aren't displayable
if ($route['handler'] !== '(Closure)') {
$routes[] = [
'method' => strtoupper($route['method']),
'route' => $route['route'],
'handler' => $route['handler'],
];
}
}