在Laravel有条件地包含子视图的正确方法

时间:2014-03-17 20:34:49

标签: php laravel-4

在Laravel 4中,有条件地包含子视图的最佳做法是什么?

我的主菜单页面应包含不同的代码段,具体取决于用户拥有的权限。

这是我目前开始的。我把一个' if'视图中的陈述:

@extends("layout")
@section("content")
<h2>This is the Main Menu</h2>


@if(Auth::user()->permissions & Config::get('permissions.aw'))

    @include('awMenu')

@endif
@stop

我可以看到这可能会变得很难看,因为最多可以有31种不同的权限。 (不,我不会使用那么多。) 有人可以推荐一种更好的方法来解决这个问题吗?

1 个答案:

答案 0 :(得分:2)

这是一个想法...

在主视图中:

@include('permission-views')

在权限视图中:

@include('awMenu')
@include('myOtherPermissionView')
...

在awMenu 和所有其他权限视图中

@if(Auth::user()->permissions & Config::get('permissions.aw'))

    ... content to show if the user has permission ...

@endif

这至少会使您的主视图变得过于混乱,并将确定访问权限的责任推到负责显示内容的视图中。