根据我当前的 url 获取路线名称

Get route name given my current url

请问有没有办法或laravel帮手知道我现在的路线名称?

例如,我正在使用 localhost:8081/user/1/edit 等 REST 请求 那我想知道我现在的路线名称。

当然我的路由名称是'/user/{id}/edit'

所以当我将当前的 url 与那条路线进行比较时。

假设我有一个传递给某个class的变量,知道我自己的路线是

$url = '/user/{id}/edit';

来自我的 blade 模板

@if (URL::current() == URL::to($url))
  // this will fail because URL::current() is equal to /user/1/edit
@endif

如果没有办法做到这一点,我打算创建一个 preg_match。

我这样做的目的是,我正在创建自己的包来处理带有自定义过滤器的路由,为此,我需要将所有路由列表包装在该回调路由中 class .

如:

Route::{$process}($url, function($params_preg_matched) {
   // Some Filtering Here
   // Some Redirections Here.
});

我很难解释我为什么要这样做,因为我正在做一些新的事情。

如果你不想查看我的 github 项目,这里是: https://github.com/daison12006013/daison-admin

不太清楚可以试试这个ref

$name = Route::currentRouteName();
$url = URL::route($name);

找到这个Route::getCurrentRoute()->getPath()

此外,echo URL::to(Route::getCurrentRoute()->getPath()) 以便您可以匹配某个 URL,当使用 callback/functional 路由和 RESTful 请求时,替代使用 URL::to()