【发布时间】:2019-02-02 00:31:11
【问题描述】:
我正在开发一个报告 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。或者,它通常返回字符串foo/{id}/bar。我们收到来自用户的报告,有时这种识别路线的方法会返回类似
foo/1234/bar
foo/1235/bar
foo/1236/bar
foo/1237/bar
也就是说,它返回请求的整个 URI。
是否有一些 Laravel 设置(或流行的扩展程序/插件)可以用请求的完整 URI 替换对 getName、uri 或控制器名称的调用结果?
【问题讨论】:
-
用户是哪个版本,报错,运行?
-
@Ice76 我们知道的是5.4.9