繁体   English   中英

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

[英]How to inspect the current Named Route using Laravel 5.2

根据Laravel 5.5 docs ,有一个named()方法用于访问路由名称:

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

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

$this->action['as'] 

我的问题是我一直在使用 Laravel 5.2,它没有named()方法。 我不能在我的刀片模板中使用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。 我更喜欢使用路线名称,因为它不那么笨重

本·约翰逊 (Ben Johnson) 提供的 Gitter 回答:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM