在视图中列出Laravel路由

10

如何在我的视图中列出路由,特别是API路由?

例如这些:

...api/user
...api/Information

例如,artisan 命令会像这样列出它们:

php artisan route:list
1个回答

9

在您的控制器中,您可以使用Artisan门面获取路由列表。我假设所有api路由在其路径中都有api字符串。

public function showRoutes($request) {
    $routes = Artisan::call('route:list', ['--path' => 'api']);
    return view('your_view', compact('routes'));  
}

编辑:

你也可以使用Route门面的getRoutes方法。

$routes = [];
foreach (\Route::getRoutes()->getIterator() as $route){
    if (strpos($route->uri, 'api') !== false){
        $routes[] = $route->uri;
    }
}
return view('your_view', compact('routes'));

抱歉回复晚了,我遇到了这个错误:“路径”参数不存在。 - Micheasl
错误消失了,但如果我 dd($routes),我得到一个 0,它不应该包含我的api路由的错误吗? - Micheasl
类似这样的语句可以返回所有路由 $routes = app()->routes->getRoutes();,但我不知道如何进行筛选。 - Micheasl
如果您还有时间,最后一个问题:您知道如何从路由中获取更多信息吗?例如,如果我运行 route:list 命令,它会给我更多的信息,比如方法、名称、操作和中间件。或者这种方式不起作用了?我从未将路由返回到视图中,所以我的问题可能看起来很奇怪? - Micheasl
如果你使用dd($route),你将会看到所有信息,随便选取你需要的即可。 - Pankit Gami
显示剩余2条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接