获取给定我当前 URL 的路由名称


Get route name given my current url

我想

问一下是否有办法或 laravel 助手知道我当前的路由名称?

例如,我正在使用 REST 请求,例如 localhost:8081/user/1/edit然后我想知道我当前的路线名称。

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

因此,当我将我当前的 URL 与该路由进行比较时。

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

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

从我的边栏选项卡模板

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

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

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

如:

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

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

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

我不知道你可以

试试这个参考

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

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

因此,更进一步,echo URL::to(Route::getCurrentRoute()->getPath())以便您可以匹配某个 URL,在将回调/功能路由与 RESTful 请求一起使用时,可以使用URL::to()