在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种不同的权限。 (不,我不会使用那么多。) 有人可以推荐一种更好的方法来解决这个问题吗?
答案 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
这至少会使您的主视图变得过于混乱,并将确定访问权限的责任推到负责显示内容的视图中。