小編推薦幾個Laravel 後臺管理系統php
由百牛信息技術bainiu.ltd整理髮佈於博客園vue
1、不容錯過的Laravel後臺管理擴展包 —— Voyagerlaravel
簡介
Voyager是一個你不容錯過的Laravel後臺管理擴展包,提供了CRUD操做、媒體管理、菜單構建、數據管理等操做。git
官網:https://the-control-group.github.io/voyager/github
Github:https://github.com/the-control-group/voyager數據庫
視頻演示:https://devdojo.com/episode/laravel-admin-package-voyagerjson
安裝使用
建立完新的Laravel應用後就能夠在根目錄下經過如下命令引入Voyager擴展包:bootstrap
composer require tcg/voyager
接下來建立一個新的數據庫並將數據庫認證信息添加到.env文件:數組
DB_HOST=localhost
DB_DATABASE=homestead
DB_USERNAME=homestead
DB_PASSWORD=secret
而後註冊Voyager服務提供者以及圖片處理服務到配置文件config/app.php的providers數組:瀏覽器
TCG\Voyager\VoyagerServiceProvider::class,
Intervention\Image\ImageServiceProvider::class,
最後,咱們能夠經過如下命令安裝Voyager:
php artisan voyager:install
安裝完成後,就能夠進入後臺查看效果了。最簡單的方式是在項目根目錄下運行php artisan serve,而後在瀏覽器中訪問http://localhost:8000/admin,這樣就能夠進入登陸認證頁面,咱們可使用以下演示帳戶:
email: admin@admin.com
password: password
2、Laravel Admin RBAC 後臺管理系統
Umi 是由laravel 5.3開發的全面的後臺管理系統, 包括如下特性
https://github.com/taoyu65/UMIAdmin
BREAD 系統 (編輯, 讀取, 添加, 刪除, 查看) 要求laravel 5.3
RBAC 權限系統 (基於角色權限開發) 包含2部分, 一部分是 數據庫中的數據表的操做權限, 增刪改等, 另外一部分是管理界面權限操做, 整個權限系統基於數據層面和URL界面的操做與分配
數據表的全面操做 增刪改, 搜索, 以及自定義這些操做
表之間關係的設定與操做, 好比能夠自定義關聯刪除,關聯更新, 或定義刪除某表以前檢查是否在其餘表存在外鍵於是不能刪除表等, 例如刪除一個購物車,裏面的物品所在的物品表的數據將一併刪除等
自定義顯示數據格式, 能夠設定任何字段用以什麼方式如今在界面.例如一個外鍵能夠顯示其ID 或者 顯示所對應表字段的名稱.
功能簡介 (詳細攻略正在製做...)
權限系統: 分爲2個層次, 硬編碼層次 和 比較流行的RBAC系統
硬編碼權限: 權限不依賴數據庫中的數據, 由代碼來編寫權限, 系統有相應的接口來實現權限, 硬編碼權限擁有比RBAC更高的優先級, 也就是說若是用戶被指定
爲硬編碼權限將忽略全部RBAC權限. 已經實現的權限有: 超級管理員(擁有全部權限, 除了修改代碼不能經過數據庫改變他的權限)
目的: 能夠爲不一樣的用戶定製不依賴數據庫的永久的權限, 能夠定製不一樣風格的界面以及額外的功能
實現: 在配置文件指定一個用戶的硬編碼權限名稱 > 實現硬編碼權限的接口 (指定特有的權限功能) > 在工廠類添加對應的代碼用於生成權限對象
風格: 在實現硬編碼權限接口中, 能夠指定不一樣的masterpage的模板, 搜索欄目, 頁眉, 頁尾, 左邊欄, 提示欄目, 各個模塊都可以實現接口自定義不一樣風格,
而後經過不一樣的用戶調用不一樣的界面
RBAC系統: 比較流行的權限解決方案, 本案例的權限細度定製在數據表的增刪改查 俗稱BREAD, (不支持字段級別的增刪改查, 由於本人以爲根本沒用 還增長複雜程度)
因爲和硬編碼權限共存, 因此只有用戶沒有被指定爲特殊的硬編碼權限時候才發揮做用. 此權限系統由umiAuth包實現, 調用方式借鑑了entrust, ("動做名稱-表名稱" 好比
delete-user)
實現1: 若是一個路由只查看一種權限可使用中間件BreadAccessMiddleware配合路由來實現(邏輯代碼徹底不用關心權限問題), 路由必須包含table的參數即"{table}"
路由調用中間件要指定要判斷的權限動做(好比 'middleware'=> 'umi.bread.access:edit')
實現2: 若是一個頁面包含多種不一樣權限判斷, 能夠實例化umiAuth而後 調用裏面的各類方法來判斷權限
自定義數據顯示: 用於在瀏覽, 編輯, 添加數據表記錄的時候 自定義數據格式的顯示.
例如: 當添加文章信息時候, 文章類別(一般爲外鍵) 須要顯示對應數據表的真實類別名稱, 而不是主表的數字. 在例如 輸入性別的時候能夠用下拉框或者單選按鈕來替代文本框
實現: 實現對應的接口, 完成接口中的方法
潛力: 只要能想到的數據類型均可以實現, 時間, 文本, 鏈接, 圖片, 星級, 標籤(能夠帶樣式, 不一樣類別不一樣樣式), 外鍵顯示, 等等...
表關係操做: 當刪除, 編輯, 一條記錄的時候能夠自定義觸發表關係操做
例如: 刪除一個用戶觸發刪除全部用戶其餘信息的操做, 或增長一個用戶之後, 修改某個字段爲其加一等等
實現: 經過程序中的嚮導自定義, 分爲4個類別, 內聯刪除, 外表檢查, 自身檢查, 自定義
內聯刪除: 當刪除一條記錄則同時刪除指定的數據, 能夠爲不一樣數據表, 刪除條件能夠自定義
外表檢查: 在執行一個動做以前(好比刪除, 編輯) 檢查指定的一個數據表中的記錄是否符合指定的規則. 好比, 爲了保持數據完整性,刪除或者編輯以前查看是否其餘表存在這條數據的外鍵
自身檢查: 在執行一個動做以前(好比刪除, 編輯) 檢查自身的數據記錄是否符合指定的規則, 同外表檢查, 只不過檢查自身數據記錄
自定義: 就是徹底自定義
自定義搜索: 對數據表進行搜索條件的配置
例如: 功能定製爲Tab頁, 能夠有多個不一樣的tab頁, 每一個tab頁裏面能夠定製不一樣的搜索選項, 能夠定製不一樣的數據類型. 能夠組合搜索選項
菜單定製: 左邊欄菜單能夠根據不一樣的用戶顯示不一樣的菜單, 屬於權限的一部分, 可是僅僅是url連接級別的顯示和隱藏. 配合RBAC發揮最大做用.菜單功能在數據庫層面上分爲, 菜單樹 和 json菜單
菜單樹: 以樹狀形態顯示全部的菜單, 只有超級管理用會從這個菜單樹加載菜單(由於超級管理員擁有所有權限,不受RBAC控制, 須要看到全部菜單)
json菜單: 每個用戶分配一個json菜單, 以json形式存儲, json數據是根據彩單樹的數據整合而成.(不要和RBAC的用戶角色權限混淆)
安裝
安裝composer 和 laravel 5.3 框架. 請自行安裝,能夠經過不一樣方式安裝. 推薦composer方式
執行命令 composer create-project --prefer-dist laravel/laravel blog 5.3.*
安裝UMI Admin.
執行命令 composer require ym/umi "v0.1.2.*"
若是能夠正常使用composer 執行上面命令的能夠忽略這個段落, 若是不能正常使用composer的小夥伴能夠查看 https://github.com/taoyu65/UMIAdmin/wiki/install
配置數據庫鏈接文件(.env)
DB_HOST=localhost
DB_DATABASE=新建一個空的數據庫
DB_USERNAME=用戶名
DB_PASSWORD=密碼
添加服務提供者.添加下面2行代碼到 根目錄/config/app.php 裏面providers數組裏面
YM\UmiServiceProvider::class,
YM\umiAuth\umiAuthServiceProvider::class,
執行下面的命令, 用於安裝應用程序
php artisan umi:install (會提示選擇安裝數據庫中數據的語言 1=漢語 2=英語) 輸入1而後回車.
附:若是數據庫已經安裝完畢, 在想更改語言英語或漢語 僅需執行 php artisan umi:install --lang-zh-only(或 --lang-en-only)
設置系統爲中文:
在根目錄下config/app.php中 設置 'locale' => 'zh_cn', 便可
好了. 能夠開始了.
注意:爲了保證數據庫遷移,數據庫結構和一些必要的數據。 請在執行php artisan umi:install以前 保持數據庫爲空。若是要從新安裝請手動清空數據庫包括結構。
3、Speedy - 簡潔靈活的 Laravel 管理後臺
Speedy是基於 vue2 + bootstrap 的 laravel 管理後臺,可以快速開發好一個權限後臺,並且可以很是方便的生成一級或者二級菜單。
項目地址: https://github.com/HanSon/speedy
歡迎前來 star 以及提 issue !
file
安裝
laravel 5.1 以上:
composer require hanson/speedy
laravel 5.1 :
composer require hanson/speedy:~v0.5.0
配置
添加服務提供者
添加 Hanson\Speedy\SpeedyServiceProvider::class, 到 app.php 的 providers 中
發佈資源
php artisan vendor:publish --provider="Hanson\Speedy\SpeedyServiceProvider"
修改配置
Speedy 的配置在 config/speedy.php 中,涉及Model的命名空間以及表名(Speedy 會根據配置生成 Models 以及 Migration)
4、基於 Laravel-Admin 在十分鐘內搭建起功能齊全的後臺模板
簡介
爲 Laravel 提供後臺模板的項目愈來愈多,學院君已陸續爲你們介紹過Laravel Angular Admin、LaraAdmin、Voyager等,網友也貢獻了不少後臺模板,這對 Laravel 生態來講天然是好事,今天學院君還要給你們介紹一個後臺模板擴展包,其官方文檔號稱能夠幫助你們在十分鐘內構建器功能完備的 Laravel 應用後臺。接下來,讓咱們來一窺究竟吧。
laravel-admin 是一個用於爲Laravel提供後臺界面的構建器,僅僅經過數行代碼,就能夠幫助咱們構建CRUD後臺。
演示地址:http://120.26.143.106/admin
Github倉庫:https://github.com/z-song/laravel-admin
laravel-admin就很少說了,不少人都在使用。