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

时间:2015-01-30 07:13:33

标签: php laravel-4

我想询问是否有方法或laravel助手知道我当前的路线名称?

例如,我使用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

2 个答案:

答案 0 :(得分:1)

我不清楚你是否可以试试ref

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

答案 1 :(得分:1)

找到此Route::getCurrentRoute()->getPath()

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