摘要:值得一提的是擴展包不免費用于商業(yè)用途,作者用一種人類友好的方式說你使用這個擴展包就是應該去掙錢的,而不是免費的去工作這個擴展包收費美元。除了這些,還有五個沒有全面的審查的擴展包。最后,還有三個優(yōu)質的包選擇于。
開發(fā)者們都是懶惰的,不,我不是在開玩笑,他們努力創(chuàng)建系統(tǒng),幫助他們在未來避免更多的、尤其是重復性的工作。現在有一些相當優(yōu)秀的例子,我們不需要在編寫重復的代碼,它將直接為我們生成。今天我們將會看到 Laravel 框架中的各式各樣的后臺管理面板、后端開發(fā)者創(chuàng)建的例子,它們可以節(jié)省我們多少時間呢?
Disclaimer: 我是 quickadminpanel 的創(chuàng)始人,一位創(chuàng)造者。回顧這個市場,這里確實有偉大的競爭對手,我盡可能做人要誠實和公正,他們應該得到友善的話語和尊重。
有兩大類后臺管理面板生成器:可視化構建器和基于命令行的。選擇取決于您的偏好,是否喜歡使用 GUI 視圖面板的,還是有參數的 Artisan 命令行的。
另外,這里一個重要的術語,知道 CRUD 這個縮寫代表“創(chuàng)建、讀取、更新、刪除”這些操作基于所有的管理面板。一個 CRUD 通常代表一個菜單項的模型來管理數據。
重要通知:此文章寫于 寫于 2017 年 4 月 1號,下面所有的擴展包都是在 laravel 5.3 中測試的。在撰寫本文的時候,要求他們提供官方的 5.4 版本支持還為時尚早。(半年時間,Laravel 5.5 都已經發(fā)布了)
可視化的后臺管理面板這個產品雖然很新,但給我留下了深刻的印象。它已經有一個大的粉絲團,在之前的 laravel 資訊中有提到過它,和它的 YouTube 開發(fā)視頻系列。
Voyager 擁有一個專業(yè)并且完美的界面,但主要的一點是,它只是工作。清晰的使用說明,友好的前端主題,沒有明顯的 bug 或未完成的部分。 Voyager 還擁有像船長的圖片或船輪圖標,使它看起來不錯的整體。
另一個明智的決定是有一個參數“虛擬數據”在安裝過程中,你可以有你的管理面板預填充數據使用。
Voyager 還用有一個媒體文件管理器,來處理你上傳的文件,這非常的方便,并幫助它在其他的后臺管理創(chuàng)建者中脫穎而出。
最后,在 Voyager 的幫助下,你也可以通過一個在你的后端應用程序中的 mini-phpMyAdmin 改變數據庫表,從而直接改變你的后臺管理面板。
總之,Voyager 似乎是市場上最優(yōu)雅的解決方案,但如果不支持或更新一段時間,這種情況很容易發(fā)生變化,這種情況經常發(fā)生在開源的擴展包中。
LaraAdmin: Admin Panel + CRM這是另一個讓我印象深刻的項目。安裝并登錄到你的管理面板后,你可以直觀地創(chuàng)建 CURDs 模塊。據作者來講,這個模塊化的系統(tǒng),是受到了 SugarCRM 的啟發(fā)。
僅僅通過幾次點擊,你可以生成你的數據庫模型的遷移文件。如果你喜歡,你也可以同時或者分開生成 CURD 模塊。
LaraAdmin 帶有相當多的預定義模塊,他們幫助你了解這個系統(tǒng),但是,另一方面,如果我要創(chuàng)建我的項目從零開始,這需要花些一些時間來對 LaraAdmin 進行默認配置。
和 Voyager 一樣,LaraAdmin 也擁有上傳文件功能。可以說,她是你上傳文件的內部瀏覽器。
對于前端視圖,LaraAdmin 采用了一種非常受歡迎的主題 adminLTE。它實際上是大多數管理面板構建者使用的,它成為一種市場標準。
QuickAdmin: 在線生成器的擴展包這個包是非常簡單的,安裝之后,您可以創(chuàng)建 CRUD 模塊或非 CRUD 的菜單項,指定字段、角色和權限。它可能是本文中所有擴展包中描述最少的工具。
對于 QuickAdmin 有一個重要的里程碑,它是一個在線版本的管理面板的工具而不是作為一個現有項目 laravel 包,該生成器可以為你下載和使用整個 Laravel 項目。因此,您沒有任何包依賴關系,也不需要學習這個特定包的語法。
非可視化的后臺管理面板 Z-song / Laravel-admin這個包介于可視化和非可視化工具兩者之間的,生成器的一部分實際上是可視化的,因此您可以在管理面板內創(chuàng)建新的菜單項,但對于大多數過程,您必須手動編寫代碼,比如:
php artisan admin:make UserController --model=AppUser $router->resource("users", UserController::class); use EncoreAdminGrid; use EncoreAdminFacadesAdmin; $grid = Admin::grid(Movie::class, function(Grid $grid){
這是視覺和基于代碼的生成器之間的根本區(qū)別,后者需要學習它們的語法、一些規(guī)則并堅持它們。如果你想在包上創(chuàng)建一些定制的東西,那可能很麻煩。然而,z-song 開發(fā)的擴展包是一個很好的作品。
它還提供了額外的功能,如模型網格、模型表單、模型樹,甚至是現成的小部件。
InfyOm Laravel Generator它有相當令人印象深刻的生成器口號:“讓你的 API 和管理面板在幾分鐘內準備好”,所以他們首先強調 API,而不是管理面板。為此,他們有一個多帶帶的 API 生成器,它可以作為管理面板的一部分,或者作為獨立的一部分工作。不僅如此,他們還將為 API 生成詳細的注釋。
雖然 infyom 生成器不是可視化(infyom 聲稱他們在工作在 GUI 頁面之上的),它提供了三種不同的選項指定的增刪改查參數:控制臺、JSON 文件、或一個現有的數據庫表。是的,你可以為一個已經存在的表生成增刪改查模塊,是不是很酷?
這個生成器的一個有趣功能,它使用存儲模式生成代碼,所以您的控制器看起來如下所示:
class BookController extends AppBaseController { /** @var BookRepository */ private $bookRepository; public function __construct(BookRepository $bookRepo) { $this->bookRepository = $bookRepo; } /** * Display a listing of the Book. * * @param Request $request * @return Response */ public function index(Request $request) { $this->bookRepository->pushCriteria(new RequestCriteria($request)); $books = $this->bookRepository->all(); return view("books.index") ->with("books", $books); } }
這可能是一件非常好的事情,或許你不想使用這種存儲庫模式,覺得它太復雜了。但是采用這種模式有一個最大好處,infyom 可以為你生成測試案例代碼!
對于前端視圖,infyom 提供四種模板可供選擇:AdminLTE、 Metronic、Bootstrap、以及 FlatLab.
使用 infyom 最大的問題(與大多數非視覺生成器),是你必須嚴格遵守他們的規(guī)則語法。清楚他們的文檔:“仔細閱讀文檔指定的特定輸入,但是如果你使用了錯誤的參數,這個生成器會像魔術一樣工作。
AppzCoder: 增刪改查生成器 + 后臺管理面板這個包有兩個產品,一個獨立的增刪改查生成器,和一個 laravel 后臺管理包。它的官方文檔說的要求 laravel 5.1 和 5.3 版本之間工作。
安裝后,你可以通過一個一個的 Artisan 命令得到一個 bootstrap 默認主題,也可以手動創(chuàng)建增刪改查模塊。
他們官方文件中的一個例子:
php artisan crud:generate Posts --fields="title#string; content#text; category#select#options=technology,tips,health" --view-path=admin --controller-namespace=Admin --route-group=admin
如果這對你來說太難了,你可以在 JSON 文件中提供字段細節(jié),然后將其指定為命令的參數。
您也可以多帶帶生成不同的文件,如下所示:
php artisan crud:controller PostsController --crud-name=posts --model-name=Post --view-path="directory" --route-group=admin
php artisan crud:model Post --fillable="["title", "body"]"
生成增刪改查后,然后你指定的所有細節(jié),自己在代碼里把菜單項,什么中間件、角色使用等等。所以,這個生成器會為你的管理面板做很多部分工作。
Backpack for Laravel這實際上是一個龐大的項目,它不僅僅是構建于一個管理面板之上的,它還有一個方便的多帶帶包結構:基礎,增刪改查 日志管理器,后臺管理器等。作者稱這個擴展包適用于創(chuàng)業(yè)者的各種演示網站,以及復雜的 Web 應用程序。
提示:Backpack 使用案例已經在之前的 laravel資訊文章中有提到。
除了增刪改查生成器,它已經預先構建的增刪改查模塊包含:權限管理、設置、頁面管理、新聞管理、菜單管理。另外,Backpack 中的一些包可以作為擴展:日志、備份和其他一些功能可以很容易地添加到應用程序中。
Backpack 的問題是它的嚴格,其嚴格要描述這樣,所有在您的控制器代碼的增刪改查功能,它可能看起來像這樣:
class TagCrudController extends CrudController { public function setup() { $this->crud->setModel("AppModelsTag"); $this->crud->setRoute("admin/tag"); $this->crud->setEntityNameStrings("tag", "tags"); $this->crud->setColumns(["name"]); $this->crud->addField([ "name" => "name", "label" => "Tag name" ]); }
雖然在控制器方法中設置所有東西看起來很方便,但是如果您想在它上面構建任何定制的東西,您將不得不自己“破解” Backpack 擴展包。公平地說,這適用于本系列中的大多數包,您必須處理依賴項,Backpack 擴展包是這里擴展包最嚴格的一個。
值得一提的是 Backpack 擴展包不免費用于商業(yè)用途,作者用一種人類友好的方式說:“你使用這個擴展包就是應該去掙錢的,而不是免費的去工作”(這個擴展包收費19美元)。
SleepingOwl Admin這可能是這篇文章中最古老的包之一,但這個包仍然積極在維護,它是由一家俄羅斯公司創(chuàng)建的,您可以在文檔的某些部分看到俄羅斯語言,在這里和那里提交消息和其他文本。但這并不妨礙實際使用 sleepingowl 擴展包,它是非常強大的。
同樣在其他情況下,這個擴展包的使用語法相當嚴謹,這是如何在 sleepingowl 中添加一個菜單的例子:
Admin::menu()->url("/")->label("Start Page")->icon("fa-dashboard")->uses("AppHTTPControllersAdminController@getIndex"); Admin::menu(AppUser::class)->icon("fa-user"); Admin::menu()->label("Subitems")->icon("fa-book")->items(function () { Admin::menu(AcmeModelsBarUser::class)->icon("fa-user"); Admin::menu(AcmeModelsFoo::class)->label("my label"); });
這里的另一個缺點是包的文件似乎過時了一點,而不是 類似于 admin:install 這樣的 sleepingowl:install Artisan 命令行安裝。在這個擴展包中,還可以找到更多關于這種不一致的例子。
你可以考慮用這八個擴展包,來生成你的后臺管理面板。除了這些,還有五個沒有全面的審查的擴展包。
我測試了兩個未能交付的包:
CrudBooster 它由一些手動修復工作,但文件是難以理解(可能是用谷歌翻譯,作者是來自印度尼西亞),我也不喜歡作者的一些建議,如使用字段名稱 xxxx_id、id_xxxx 之類的 。
Zofe / Rapyd-Laravel 不幸的是,它沒有在 Laravel 5.3 中工作,寫這篇文章的時候他們正在更新,根據他們的自述,最新支持的版本是5.2。
最后,還有三個優(yōu)質的包選擇于 CodeCanyon。我不能提供很多關于他們的信息,所以我留下來給你們檢查(我想作者是不愿意再花錢了(@^_^@),下面都是收費的擴展包,而且是美元!):
Laravel CRUD – CMS – Sximo 5 LTS($24)
Josh – Laravel Admin Template + Front End + CRUD($25)
Admin Architect – Administration Framework for Laravel ($29)
接下來就寫完了,這些都是可行的選擇,我發(fā)現創(chuàng)建你的 laravel 管理面板(幾乎)不用寫代碼。
作者 PovilasKorop 寫于 2017 年 4 月 1號
譯者 angkee
這是一篇譯文,原文地址是 https://laravel-news.com/13-l... 英語好的小伙伴,可以直接去看原文。
文章中提到的擴展包我基本都有用過,尤其是 Z-song 開發(fā)的 Laravel-admin,在接下來更新的文章中,我會再詳細去寫這些擴展包的優(yōu)點和缺點。
我的英文水平有限,翻譯的內容會稍有偏差,希望小伙伴們多多包涵。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規(guī)行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/26181.html
摘要:值得一提的是擴展包不免費用于商業(yè)用途,作者用一種人類友好的方式說你使用這個擴展包就是應該去掙錢的,而不是免費的去工作這個擴展包收費美元。除了這些,還有五個沒有全面的審查的擴展包。最后,還有三個優(yōu)質的包選擇于。 showImg(https://segmentfault.com/img/remote/1460000012312105?w=2200&h=1125); 開發(fā)者們都是懶惰的,不,...
摘要:本文經授權轉自社區(qū),后續(xù)更新將以帖子內容和內容為準。說明另一個令人喜歡的地方,是擁有活躍的開發(fā)者社區(qū),而活躍的開發(fā)者社區(qū)帶來的,是繁華的擴展包生態(tài)。本文對上打了標簽的擴展包進行整理,截止到現在年月號,有超過個擴展包,以下是下載量最大的個。 本文經授權轉自 PHPHub 社區(qū),后續(xù)更新將以 PHPHub 帖子內容 和 GitHub 內容 為準。 說明 Laravel 另一個令人喜歡的地方...
摘要:更多擴展包中有豐富的擴展包來幫你完成幾乎任何你想實現的功能。我們不能把所有的擴展包都整理出來,然而,這里還是列出了一些很有用的。總之,你幾乎總是能夠找到一個擴展包可以解決你當前的問題。 Laravel 是一個非常流行且簡單易用的PHP框架,它提供了很多基礎的工具(如 RESTful 路由、內置的ORM、模版等)使你能夠快速的創(chuàng)建應用。這意味著你可以花費更少的時間來建立應用程序的模版,給...
摘要:查找保存下載用搭建自己的緩存?zhèn)}庫權限管理的好選擇基于封裝的后臺管理系統(tǒng),支持手機和端訪問支付寶風格的驗證器后臺系統(tǒng)微信接口的部署腳本開發(fā)的博客系統(tǒng)百度推送自動記錄用戶行為擴展一個項目管理系統(tǒng)根據生成對應導航的狀態(tài) 1.debug https://github.com/barryvdh/l... showImg(https://segmentfault.com/img/bVmhWL); ...
摘要:簡介另一個令人喜歡的地方,是擁有活躍的開發(fā)者社區(qū),而活躍的開發(fā)者社區(qū)帶來的,是繁華的擴展包生態(tài)該項目統(tǒng)計了目前下載量最高的個擴展包。記得喲相信下面這些擴展包會讓你的編碼更加高效。排名下載量排名包地址下載次數描述圖片處理。 簡介 Laravel 另一個令人喜歡的地方,是擁有活躍的開發(fā)者社區(qū),而活躍的開發(fā)者社區(qū)帶來的,是繁華的擴展包生態(tài) ———— @Summer 該項目統(tǒng)計了目前 pack...
閱讀 1971·2019-08-30 15:54
閱讀 3596·2019-08-29 13:07
閱讀 3124·2019-08-29 12:39
閱讀 1789·2019-08-26 12:13
閱讀 1547·2019-08-23 18:31
閱讀 2159·2019-08-23 18:05
閱讀 1844·2019-08-23 18:00
閱讀 1043·2019-08-23 17:15