尝试获取Slim框架中加载的所有路由列表。需要知道如何使用自定义Router类,它添加了一个方法来获取受保护的$routes
属性。
似乎您可以覆盖SlimSlim
构造器并设置它将使用的路由器,或者您可以命名所有路由,然后使用SlimRouter::getNamedRoutes()
方法访问集合。
<?php
$application->get(
'/api',
function () use ($application) {
$routes = [];
foreach ($application->router()->getNamedRoutes() as $route) {
$routes[] = $route->getPattern();
}
$application->response->headers->set('Content-Type', 'application/json');
echo json_encode([
'total' => count($routes),
'routes' => $routes
]);
}
)->name('api');
返回。
{
total: 1,
routes: [
"/api"
]
}