Laravel 5如何在访客/经过身份验证的用户上显示刀片内容?

时间:2015-11-06 09:09:14

标签: laravel authentication conditional blade

我可以从文档中读到我可以编写以下内容以了解用户是否经过身份验证:

if (Auth::check())
{
 // The user is logged in...
}

直到那里一切都在为我工作(认证)

我仍然想念的是如何使用刀片管理身份验证。 例如,如果用户是或未经过身份验证,则显示不同的菜单。

但我不会复制我的所有刀片模板以获得上述内容。 我想了解如何放置条件(控制器或视图?)以便根据当前身份验证状态显示(yeld)不同的内容

e.g。我为app.blade.php文件设想的伪代码:

....
<body >
     @if (Auth::check())
     {
     @include('menu')
     @yield('content')
     }@else{
     @include('menu.guest')
     }
</body>

这是好方法吗?

由于

3 个答案:

答案 0 :(得分:1)

是的,你可以这样检查,但你的代码中有很少的错误,你不能在刀片模板中使用大括号。做这样的事。

<body >
     @if (Auth::check())
         @include('menu')
         @yield('content')
     @else
         @include('menu.guest')
     @endif
</body>

答案 1 :(得分:0)

是的,当您使用相同的模板时,这种方式很好。 您还可以根据您的身份验证状态制作单独的文件并包含。

答案 2 :(得分:0)

您可以使用刀片指令使用look

    @auth
       // The user is authenticated...
   @endauth