如何使用Laravel 5.2检查当前的命名路由

时间:2017-09-26 20:22:25

标签: php laravel laravel-5 laravel-5.2

根据Laravel 5.5 docs,有named()方法来访问路由名称:

if ($request->route()->named('profile')) {
    //
}

检查源代码,我了解到这个named方法只是获取操作对象的'as'属性:

$this->action['as'] 

我的问题是我使用的是没有named()方法的Laravel 5.2。我无法在我的刀片模板中使用route()->action['as'],因为action对象受到保护。在5.2中是否有等效的getter方法来检查当前路由的名称?我想在我的blade.php文件中流控制,如下所示:

@if(route()->action['as'] == 'blog.edit')
    //
@endif

也许我错过了,但我在Laravel 5.2文档中没有看到任何内容:https://laravel.com/docs/5.2/routing#named-routes

我成功使用

检查路线
@if(request()->is('blog/add'))
    //
@endif

但那是使用路由URI。我更喜欢使用路线名称,因为它不那么笨重

1 个答案:

答案 0 :(得分:0)

来自Gitter的答案由Ben Johnson提供:

@if(Route::currentRouteName() == 'blog.edit')
    //
@endif