在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个不同的权限。(不,我不会用那么多)有人能给我推荐一个更好的方法吗?
我有个想法…
在主视图中:
@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
这至少可以防止你的主视图变得过于混乱,并将决定访问的责任推给负责显示内容的视图。