webman,获取路由列表

evilk

现在有个需求是
需要获取config/route.php中
定义的所有路由
但看了源码,无法做到
请问,有好的办法吗?

2126 1 1
1个回答

walkor

获取路由要做什么?

  • evilk 2021-12-31

    我们新建了路由表,做API权限管理,需要拉出所有的路由

  • evilk 2021-12-31

    入库以后,才能在后台进行配置,权限

  • walkor 2021-12-31

    只要路由的uri部分是吧?

  • evilk 2021-12-31

    path|name|method

  • walkor 2021-12-31
    Route::any('/path', function(){
    
    });

    method可能是这种闭包,你们没办法用吧

  • evilk 2021-12-31

    我们全部都用的类方法定义的,没有用闭包

  • walkor 2021-12-31

    好的。我今天尝试加个接口

  • evilk 2021-12-31

    好的,非常感谢老大

  • walkor 2021-12-31

    放到主干了,更新下试下

    composer require workerman/webman-framework dev-master
    foreach(Route::getRoutes() as $route) {
        var_export($route->getMethods());
        var_export($route->getPath());
        var_export($route->getCallback());
        var_export($route->getMiddleware());
    }
  • tanhongbin 2021-12-31

    这个没啥意义吧,路由权限肯定开发人员得定义好呀,要不然代码智能知道这个路由是什么权限???

  • liziyu 2021-12-31

    @tanhongbin 他是要“控制器/方法“的这种uri把它入库,然后用它做访问权限判断用的,我猜是这样的。

  • zeus 2022-01-01

    是的, 权限都是基于pathinfo来验证的。 $request->getpathinfo() 可以获取到

  • evilk 2022-01-04

    非常感谢老大

年代过于久远,无法发表回答
🔝