列出PHP苗条3组的所有路由

问题描述 投票:0回答:1

我需要在与苗条3子路由的分组阵列的所有路由。

这里是我的代码:

$routes = $app->getContainer()->router->getRoutes();
$routes_list = [];
foreach ($routes as $index => $route) {
   $routes_list[$index]['name'] = $route->getName();
   $routes_list[$index]['pattern'] = $route->getPattern();
   $routes_list[$index]['callable'] = $route->getCallable();
   $routes_list[$index]['methods'] = $route->getMethods();
}
php slim-3
1个回答
1
投票

我有一个解决方案

我的代码

    $routes = $app->getContainer()->router->getRoutes();

    foreach ($routes as $index => $route) {
        $group = explode('.', $route->getName());
        if (is_array($group) and count($group) > 1) {
            $sub_group = explode('.', $route->getName());
            if (is_array($group) and count($group) > 2) {
                $routes_list[$group[0]][$group[1]][$index]['name'] = $route->getName();
                $routes_list[$group[0]][$group[1]][$index]['pattern'] = $route->getPattern();
                $routes_list[$group[0]][$group[1]][$index]['methods'] = $route->getMethods();
            } else {
                $routes_list[$group[0]][$index]['name'] = $route->getName();
                $routes_list[$group[0]][$index]['pattern'] = $route->getPattern();
                $routes_list[$group[0]][$index]['methods'] = $route->getMethods();
            }
        } else {
            $routes_list['routes'][$index]['name'] = $route->getName();
            $routes_list['routes'][$index]['pattern'] = $route->getPattern();
            $routes_list['routes'][$index]['methods'] = $route->getMethods();
        }
    }

它与子路由回路组阵列这样的

© www.soinside.com 2019 - 2024. All rights reserved.