如何使用 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
方法只是获取操作 object:
的 'as' 属性
$this->action['as']
我的问题是我无法使用 Laravel 5.2,它没有 named()
方法。我无法在我的 blade 模板中使用 route()->action['as']
,因为 action
object 受到保护。 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
根据Laravel 5.5 docs,有一个named()
方法可以访问路由名称:
if ($request->route()->named('profile')) {
//
}
检查源代码,我了解到这个 named
方法只是获取操作 object:
$this->action['as']
我的问题是我无法使用 Laravel 5.2,它没有 named()
方法。我无法在我的 blade 模板中使用 route()->action['as']
,因为 action
object 受到保护。 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