Php Laravel-读取路线名称,如果有组

Php Laravel-读取路线名称,如果有组,php,laravel,laravel-4,get,laravel-routing,Php,Laravel,Laravel 4,Get,Laravel Routing,我的问题是,如果我有例如以下路线组,如何在Laravel FW中读取当前路线名称: Route::group(['prefix' => 'machines'], function(){ // GET Route::get('/', array('uses' => 'ServerController@index', 'as' => 'machines')); Route::get('/update/{id}', ar

我的问题是,如果我有例如以下路线组,如何在Laravel FW中读取当前路线名称:

        Route::group(['prefix' => 'machines'], function(){
        // GET
        Route::get('/', array('uses' => 'ServerController@index', 'as' => 'machines'));
        Route::get('/update/{id}', array('uses' => 'ServerController@update', 'as' => 'machines.Update')); 
        //POST
        Route::post('/updatePost/{id}', array('uses' => 'ServerController@updatePost', 'as' => 'machines.UpdatePost'));

        });
通常情况下,我使用以下命令读取此值:
Route::currentRouteName()
,但它只对
Route::get('/',***)起作用和不适用于(例如:
Route::get('/update/{id}');
名称为'machines.update'。它不返回任何内容

为什么要这样做?我正在尝试创建“活动菜单”。目前,我的函数呈现如下:

HTML::macro('nav_link', function ($route, $title, $parameters = array()) {

$class = '';

if(Route::currentRouteName() == $route) {
    $class = ' class="active" ';
} else {
    $class = '';
}

return '<li' . $class . '>' . link_to_route($route, $title, $parameters = array()) . '</li>';

});
我想创建“动态”宏,它将创建
  • 项,它将检查它是否是活动项,然后通过
    class=“active”
    为它们提供活动状态

    解决方案:

    在Laravel 4.1中,函数
    Route::currentRouteName()
    被更改为
    Route::current()->getName()
    ,现在它像地狱一样工作:)

    为子孙后代:

    HTML::macro('nav_link', function ($route, $title, $parameters = array()) {
    
    $class = '';
    
    if(strpos(Route::current()->getName(), $route) !== false) {
        $class = ' class="active" ';
    } else {
        $class = '';
    }
    
    return '<li' . $class . '>' . link_to_route($route, $title, $parameters = array()) . '</li>';
    
    });
    

    这是“动态活动菜单”的工作代码。

    根据您的评论,使用Request::is

    <li {{ Request::is('portal') ? 'class="active"' : '' }}>
        <a href="{{ URL::route('admin.dashboard') }}"><i class="fa fa-dashboard"></i>Dashboard</a>
    </li>
    
    
    
    
    您在哪里使用currentRouteName?为什么?编辑:另外,似乎在Laravel 4.1中,currentRouteName已被替换。是的,但它现在(仍然)有效。我试图通过比较路由名称来执行“活动菜单”。您也可以使用通配符,例如Request::is('update/*)“手动检查”可以,但现在请看我的问题,我编辑了它。您使用的是什么版本的Laravel?4.1。在我在文档中找到返回我想要的函数之前的第二秒(这很难)路由::currentRouteName()
    被更改为
    路由::当前()->getName()
    ,现在它正确地返回了我想要的内容。
    {{ HTML::nav_link('machines', 'Machines', array()); }}
    
    <li {{ Request::is('portal') ? 'class="active"' : '' }}>
        <a href="{{ URL::route('admin.dashboard') }}"><i class="fa fa-dashboard"></i>Dashboard</a>
    </li>