在編寫網站后臺管理系統中,權限管理是一個非常重要的環節。php nopromission是一款非常實用的權限管理框架,能夠有效地幫助開發者實現角色管理、菜單管理、操作權限管理等功能。下面我們來詳細介紹一下php nopromission的使用。
首先,我們需要安裝php nopromission。在composer.json文件中添加如下內容:
"require": { "php": ">=5.4.0", "laravel/framework": "5.1.*", "zhonghang/permission": "1.0.*" }然后運行composer update命令,即可完成安裝。 接下來,我們需要在app.php配置文件中添加如下內容:
'providers' =>[ ... Zizaco\Entrust\EntrustServiceProvider::class, Zhonghang\Permission\PermissionServiceProvider::class, ], 'aliases' =>[ ... 'Entrust' =>Zizaco\Entrust\EntrustFacade::class, ]在數據庫中創建角色表、權限表、角色權限關聯表、用戶角色關聯表,然后進行數據庫遷移即可。php nopromission默認表名為roles、permissions、permission_role、role_user。 在代碼中使用php nopromission非常簡單,我們以實現菜單管理為例進行說明。首先需要在菜單管理的控制器中加入如下代碼:
public function index() { $menus = Menu::all(); $permissions = Permission::all(); return view('admin.menu.index', compact('menus', 'permissions')); }然后在view視圖文件中加入如下代碼:
@foreach($menus as $menu)以上代碼實現了在菜單管理頁面中顯示所有權限,并根據角色權限關聯表來決定權限的選中狀態。當用戶勾選某個權限時,將會在角色權限關聯表中添加一條記錄。 php nopromission的其他功能同樣簡單易用??偟膩碚f,php nopromission是一款非常實用的權限管理框架,值得開發者們進行嘗試。@endforeach {{$menu->id}} {{$menu->name}} {{$menu->url}} {{$menu->parent_id}} @foreach($permissions as $permission) @if(Entrust::can($permission->name))@else@endif {{$permission->display_name}} @endforeach
上一篇python矩陣熱圖
下一篇java表結構和類的關系