我正在开发一个关于Laravel路由名称的开发工具(不幸的是,现在已经关闭了源代码)。它是通过有效的代码实现的
主要地
像这样(简化了这个问题以使提问更容易)。
function identifyRoute() {
$router = app('router');
$route = $router->current();
$name = $route->name;
if($name) {
return $name;
}
$action = $route->getAction();
if(isset($action["controller"]) && $action["controller"]) {
return $action["controller"];
}
if($name = $route->uri())
{
return $name;
}
return 'Could Not Identify Name';
}
所以,对于像这样的路线
Route::get('foo/{id}/bar', function($id ) {
//...
});
我们的函数返回字符串
foo/{id}/bar
. 或者,它
通常
返回字符串
Fo/{ID}/Bar
. 我们有来自用户的报告,有时候这种识别路由的方法会返回如下结果
foo/1234/bar
foo/1235/bar
foo/1236/bar
foo/1237/bar
也就是说,它返回请求的整个URI。
是否有一些Laravel设置(或流行的扩展/插件)可以替换对
getName
,
uri
或者控制器名称,以及请求的完整URI?