【问题标题】:Get route name given my current url给定我当前的 url 获取路线名称
【发布时间】:2015-03-29 15:20:57
【问题描述】:

我想请问有没有办法或者 laravel helper 知道我当前的路线名称?

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

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

所以当我将我当前的网址与该路线进行比较时。

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

$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

【问题讨论】:

    标签: php laravel-4


    【解决方案1】:

    我不太清楚你可以试试这个ref

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

    【讨论】:

    • 我忘了说明我使用的是路由函数而不是命名路由。
    【解决方案2】:

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

    更进一步,echo URL::to(Route::getCurrentRoute()->getPath()) 以便您可以匹配某个 URL,或者在使用带有 RESTful 请求的回调/功能路由时使用 URL::to()

    【讨论】:

      猜你喜欢
      • 2015-09-14
      • 2020-04-02
      • 1970-01-01
      • 2013-08-20
      • 1970-01-01
      • 2016-05-08
      • 2014-08-26
      • 2015-07-14
      相关资源
      最近更新 更多