Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 99热成人精品免费久久,国产三级毛片,青青自拍视频一区二区三区

          整合營銷服務(wù)商

          電腦端+手機端+微信端=數(shù)據(jù)同步管理

          免費咨詢熱線:

          推薦超好用的 6 款 Laravel Admin 管

          推薦超好用的 6 款 Laravel Admin 管理模版

          發(fā)于推薦超好用的 6 款 Laravel Admin 管理模版 | 碼匠技術(shù)博客

          如果您正在為您的企業(yè)調(diào)研開發(fā) Admin 管理后臺的最佳方案,那么基于 PHP 的 Laravel 框架會是一個不錯的選擇,它靈活且易用,還提供了一系列開發(fā)規(guī)范和組件加速我們的開發(fā)。而在這篇文章中,碼匠將為您介紹幾款專門基于 Laravel 打造的美觀且常用的 Admin 管理后臺模板,這些模板提供了很多開箱即用的功能,不僅確保您可以輕松啟動并運行一個 Admin 后臺,還為您節(jié)省了大量開發(fā)時間。

          Laravel Admin 管理后臺模板的不同類型

          在搜索引擎中粗略搜索,你會得到大概 20多種 Laravel Admin 模板的選項,盡管它們表面上看起來很相似,但實際上在用途和架構(gòu)存在著很大差異。在碼匠為大家介紹一些受歡迎選項的具體功能前,讓我們先了解 Laravel Admin 模板五個不同的種類,以便結(jié)合自身需求更好地做出判斷:

          腳手架

          腳手架主要是通過程序,自動化地創(chuàng)建啟動和運行所需的文件和配置來生成 Laravel 樣板。例如,假設(shè)您想為您的活動業(yè)務(wù)創(chuàng)建一個管理后臺,主要涉及的領(lǐng)域?qū)嶓w為事件、發(fā)言人和與會者,腳手架軟件包不僅可以自動為每個實體生成模型、控制器、路由、視圖等,還包括了 CRUD 操作,這將為您節(jié)省乏味又重復(fù)地手動創(chuàng)建這些樣板的時間。但是,腳手架只能在開始一個項目時才有用,如果您在初始設(shè)計中犯了錯誤,后續(xù)則很難進(jìn)行更改和調(diào)整。腳手架軟件包的一個例子可以參考 InfyOm Laravel Generator。

          Laravel 開發(fā)準(zhǔn)備之安裝腳手架


          CRUD

          Laravel 框架遵循 MVC(模型-視圖-控制器)模式,提供 CRUD 接口是 Laravel Admin 模板的一種流行架構(gòu)方法。這些是視圖和控制器的集合,可以自動添加 CRUD 邏輯和 UI 到現(xiàn)有的模型中。這種結(jié)構(gòu)提供了一種快速獲得模塊化管理后臺的方法,它可以輕松地添加到一個新的應(yīng)用程序中,或改裝到一個現(xiàn)有的應(yīng)用程序中。一些流行的支持該功能的 Laravel 管理模板包括 Nova、Backpack 和 Orchid 等。

          但缺點是,如果您業(yè)務(wù)上有著復(fù)雜的模型關(guān)系,可能很難讓它按照您的要求來工作。

          可視化編程

          一個可視化的編程平臺能夠允許您單純從一個圖形用戶界面 (GUI) 來管理您的站點,這有點像 CMS,但可以添加更詳細(xì)的站點配置。

          當(dāng)您的團(tuán)隊有非開發(fā)人員時,一個可視化的編程平臺會是一個不錯的選擇,但這些軟件包通常局限在通用功能上。這種類型的后臺模板的例子是 Voyager 和 Backpack DevTools。

          主題和組件庫

          一些管理后臺模板只關(guān)注用戶界面,即組件庫、主題等等,例如 Creative Tim 的 Argon 管理模板 不提供任何 CRUD 接口或生成器,但提供很多對管理應(yīng)用程序有幫助的詳細(xì)的前端組件——如表格、圖表、菜單等。

          如果您的應(yīng)用程序已經(jīng)有了一套完善的后端邏輯,或者后端邏輯希望自己編寫,那么這種類型的工具就會很有用。

          付費/開源

          管理后臺模板的另一個不同之處在于它們是付費的還是免費(開源)的,免費的固然是大家所傾向的,但付費軟件往往提供更強大的業(yè)務(wù)模型與客服支持。

          如果您的目標(biāo)是開發(fā)一個既能省錢又能省時的工具,那么花少量的錢買一個付費項目可能更適合。如果不希望花錢,那么找一個開源并且有著更活躍的社區(qū)的模板是一個更好的選擇。


          碼匠

          在您深入了解多種 Laravel Admin 模板之前,不妨先了解下碼匠,碼匠是一款開發(fā)者友好的低代碼平臺,您無需了解 React 開發(fā)、部署等各種細(xì)節(jié),就可以快速打通前后端連接 REST API、MySQL、MongoDB 等多種數(shù)據(jù)源,然后通過一套開箱即用的組件,就可以輕松搭建功能完善的數(shù)據(jù)看板、數(shù)據(jù)洞察、Admin 管理后臺等多種應(yīng)用。

          使用碼匠快速搭建 CRM 系統(tǒng)(具體可參考:https://majiang.co/templates/mysql-crm)

          碼匠主要面向國內(nèi)用戶,相較于國外開發(fā)的 Admin 后臺工具,碼匠的 UI 界面設(shè)計更加適合國內(nèi)業(yè)務(wù)場景。同時碼匠整合了多款國內(nèi)常見數(shù)據(jù)源,包括飛書、企業(yè)微信、釘釘、阿里云 OSS等。不僅如此,碼匠還一站式提供了企業(yè)內(nèi)部系統(tǒng)常用的租戶管理、細(xì)粒度的權(quán)限控制、審計日志等功能,讓您快速搭建后臺應(yīng)用的同時,也為您的企業(yè)信息安全保駕護(hù)航。


          Laravel Admin 管理后臺模板推薦

          了解了區(qū)分 Laravel 管理后臺模板的一些主要因素后,碼匠將具體介紹和比較 Laravel 中一些流行的軟件包:Nova、Orchid、Backpack、Argon 和 InfyOm Laravel Generator,以便您更好地了解 Laravel Admin 模板并選擇出一款適合您的項目。


          Laravel Nova

          Laravel 官方提供的 Admin 管理模板是 Nova,它主要是由 Laravel 的作者 Taylor Otwell 創(chuàng)建的。它的首次發(fā)布是在 2018 年,相對來說較晚。Nova 的架構(gòu)是一個CRUD 界面,只需很少的配置就能允許用戶完全從 UI 界面管理他們的數(shù)據(jù)庫記錄。

          Nova 提供可配置的 UI 功能,例如搜索、過濾和自定義操作。這些功能開箱即用,也可以在前端和后端進(jìn)行自定義(Nova 使用 Vue.js 作為前端組件)。

          主要特征

          在 Nova 中向模型添加 CRUD 操作的機制被稱為資源,這些是您可以在命令行上創(chuàng)建的類似控制器的類,例如要創(chuàng)建一個 Post 資源:php artisan nova:resource Post,一個新類會顯示在您項目的 app/Nova 目錄中,不僅如此,它還會自動顯示在 Nova 模板中供您使用。通常大多數(shù) Laravel 模型在 Nova 中工作無需任何額外的配置,但您可以定義具體的細(xì)節(jié),如字段如何被編輯等。

          此外,Nova 另一個值得關(guān)注的特點是允許您在一個或多個模型上執(zhí)行自定義任務(wù)。例如您可以編寫一個將用戶的會員訂閱延長一個月的操作,先在資源文件中編寫這方面邏輯,再在用戶界面中檢查,然后從動作下拉列表中選擇操作。

          優(yōu)點

          • 由 Laravel 官方團(tuán)隊創(chuàng)建,與 Laravel 功能和設(shè)計理念保持一致
          • 可與現(xiàn)有 Laravel 項目快速集成
          • UI 界面整潔美觀

          缺點

          • 定制化能力相對較低
          • 無免費試用,需要付費(小型項目 99 美元,大型項目 199 美元)


          Orchid

          Orchid 主要由俄羅斯開發(fā)者 Alexandr Chernyaev 開發(fā),是 Laravel 框架的開源 CRUD 接口包,允許您使用表單生成器、表格過濾和排序以及文本搜索等便利的功能來快速開發(fā)管理模板。

          Orchid 最吸引人的是它的開源社區(qū),在沒有任何付費項目的情況下能夠維護(hù)好其完善的功能。

          主要特征

          與 Nova 的開箱即用不同,Orchid 需要您通過名為 screen 的類來創(chuàng)建管理模板的邏輯和外觀。每個模板都為特定模型定義 CRUD 接口,可以從任何來源獲取數(shù)據(jù),包括 Eloquent 模型以及外部 API。此外,您還可以通過布局和組件來自定義屏幕的查詢和權(quán)限以及視圖層。

          雖然這比使用 Nova 需要更多的手動操作,但它非常靈活,易于迭代和定制。

          優(yōu)點

          • 免費和開源
          • 經(jīng)常迭代更新
          • 輕松定制
          • 強大的社區(qū)以及作者在 GitHub 上的支持(可以看下他的提交記錄)

          缺點

          • 不是開箱即用——需要編寫代碼
          • 文檔部分有待改進(jìn)


          Backpack

          Backpack 是羅馬尼亞開發(fā)者 Cristian T?b?citu 于 2016 年創(chuàng)建的一個 Laravel Admin 項目。它是一個強大的全能工具,因為它不僅有一個 CRUD 接口包,還有一個可選的可視化編程界面,以及它自己的 UI 框架。鑒于這種多功能性,Backpack 不是免費的,但可以為非商業(yè)用途提供免費許可。

          主要特征

          與 Nova 和 Orchid 類似,Backpack 的核心是為應(yīng)用程序的模型(簡稱CRUDS)提供一個 CRUD 接口,這些是管理模板的部分,操作由添加到標(biāo)準(zhǔn) Laravel 類的方法和特點來定義。您可以從命令行生成 CRUDS,或者可以使用 Backpack DevTools 工具,它提供了一個 Web 界面,可以從用戶界面快速生成 CRUDS。

          Backpack 擁有自己的 UI 軟件包,叫為Backstrap。這是基于 CoreUI 和 Bootstrap 4 的,能夠確保您的管理站點在沒有任何配置的情況下看起來整潔專業(yè)。

          優(yōu)點

          • 優(yōu)秀的文檔,包含視頻教程
          • 強大的前端主題
          • 非商業(yè)項目的免費選項

          缺點

          • 如果您想要所有工具和選項,則相對昂貴


          Voyager

          與我們目前看到的其他管理模板包不同,Voyager 是 Laravel Admin 應(yīng)用的可視化開發(fā)平臺,允許您從 UI 生成而不用敲代碼。這對于某些類型的項目來說可能是完美的,但您會被限制在一個拓展性有限的 GUI 中,其靈活性遠(yuǎn)遠(yuǎn)低于代碼。

          主要特征

          Voyager 提供了一個資源管理器,無論文件是在本地存儲中還是在 S3 等遠(yuǎn)程存儲中,您都可以從 UI 中查看、編輯和刪除這些文件。它不僅有一個菜單生成器,允許您管理網(wǎng)站的菜單,還有一個數(shù)據(jù)庫管理器,允許您添加、編輯和刪除表格。Voyager 是圍繞 BREAD 功能構(gòu)建的,您可以指示任何表的瀏覽、讀取、編輯、添加和刪除功能。

          優(yōu)點

          • 適合編程經(jīng)驗有限的開發(fā)者
          • 提供免費視頻培訓(xùn)課程,讓您快速學(xué)習(xí)
          • 可以輕松擴展和覆蓋默認(rèn)的控制器

          缺點

          • Laravel 的細(xì)粒度配置在視覺構(gòu)建器中是很難實現(xiàn)的
          • 與 Laravel 作為框架而不是 CMS 的理念背道而馳


          InfyOm Laravel Generator

          每當(dāng)設(shè)置 Laravel 項目時,都需要定義每個實體的模型、控制器、路由和視圖,這也許很乏味并且需要大量時間。

          InfyOm Laravel Generator 是由印度開發(fā)公司 InfyOm 創(chuàng)建的工具,它是為創(chuàng)建 Laravel 管理網(wǎng)站而制作的,可以在幾分鐘內(nèi)將您所有的模板代碼構(gòu)建起來。

          主要特征

          開始一個項目時,您需要使用 CLI 或 JSON 文件定義事件及其字段,完成后您可以開始編寫腳手架腳本,比如:php artisan infyom:scaffold $MODEL_NAME --fieldsFile=mySchema.json,之后生成器將嘗試創(chuàng)建所有的文件和內(nèi)容,以實現(xiàn)完整的CRUD功能,包括模型、控制器、組件模版、路由、測試案例、數(shù)據(jù)表等,完成這些后,就會有一個按照您的要求配置出的 Laravel 管理網(wǎng)站。

          優(yōu)點

          • 以最佳實踐為支架,如 Repository 模式、Swagger 注釋和測試案例
          • 免費

          缺點

          • 與其他模板相比,UI 模板缺乏亮點
          • 需預(yù)先了解設(shè)計與架構(gòu),不適合快速原型設(shè)計


          Argon

          Argon Laravel Dashboard 是一個基于 Bootstrap 4 的管理模板,為 Laravel 打造。其專業(yè)版(149 美元授權(quán))含有 100+ 靈活的組件,如圖表、表格等。Argon 包含一個 Laravel 后端,但非常初級,它不包括我們在其他項目中看到的用于 CRUD 接口、腳手架或可視化編程的任何特殊包。出于這個原因,我認(rèn)為這個產(chǎn)品最適合那些想自己編寫后端邏輯,且主要想在視圖層得到幫助的項目。

          主要特征

          Argon 設(shè)計系統(tǒng)基于Bootstrap 4 ,并允許使用 Sass 預(yù)處理器輕松自定義 CSS 。它提供了 100 多個 UI 組件,

          從按鈕和表單輸入到圖表和圖片輪播。

          購買 Argon 時,您可以決定要為哪個前端庫編寫交互方面的內(nèi)容,包括 jQuery、React、Vue 和 Svelte。Argon 還為 Laravel 后端提供了一些基本的 CRUD 實體,包括用戶、角色、類別和項目。

          優(yōu)點

          • 設(shè)計美觀
          • 100+ UI 組件
          • 有免費版和專業(yè)版(售價 149 美元)
          • 支持多個前端庫

          缺點

          • 模板功能相較其它幾款,比較基礎(chǔ)



          寫在最后

          在使用 Laravel 構(gòu)建管理模板時有多種選擇,每個工具都有自己的優(yōu)點和缺點,您選擇的工具將取決于您項目的具體要求以及您團(tuán)隊的優(yōu)勢。


          本文為原創(chuàng)內(nèi)容,版權(quán)歸「碼匠Majiang」所有。歡迎文末分享、點贊、在看三連。轉(zhuǎn)載請聯(lián)系后臺~

          本來講完路由和控制器,應(yīng)該接著講一講視圖的,但是鑒于視圖的功能實在太枯燥,況且是前端頁面,免不了寫一些js和css。而laravel是偏重后端的,所以為了給后端的開發(fā)同學(xué)緩沖的時間,我們跳過視圖,先來說說用戶數(shù)據(jù)的獲取和處理,這幾乎是任何應(yīng)用必備之功能。


          用戶數(shù)據(jù)同時又是危險的!本文不會教你規(guī)避危險

          代碼時間

          我們在講路由規(guī)劃的時候,說了如何使用url的位置參數(shù)綁定的方式進(jìn)行導(dǎo)向,其實那也是一種獲取用戶輸入數(shù)據(jù)的方式, 只不過,傳入的位置參數(shù)一般都人畜無害,公開訪問,任你來來往往。

          如果是單個用戶的私密數(shù)據(jù),必然是不能直接url內(nèi)嵌傳輸?shù)摹?/p>

          laravel把用戶的輸入存儲在 Input 對象內(nèi),而從邏輯上看,用戶輸入應(yīng)該歸屬于請求項的,所以 Request 也繼承了 Input 的方法和數(shù)據(jù)。 比如有下面的路由:

          Route::post('form', function (Illuminate\Http\Request $request) {
              // $request->method()
          });

          模擬的是一個表單地址,通過post方法傳送數(shù)據(jù),然后使用 Request 方法。可供使用的獲取方法,我們一一道來。

          先說說 $request->all(),這一個是打印所有的輸入數(shù)據(jù),比如表單內(nèi)可能有下面這些字段。HTML 內(nèi)容你們將就看一下哈!

          <form method="post" action="/post-route?utm=12345">
              {{ csrf_field() }}
              <input type="text" name="firstName">
              <input type="submit">
          </form>

          為了調(diào)試數(shù)據(jù),我們的路由這樣注冊:

          Route::post('/post-route', function (Request $request) {
              var_dump($request->all());
          });

          大家猜猜會輸出些什么內(nèi)容呢?

          /**
          * [
          * '_token'=> 'CSRF token here',
          * 'firstName'=> 'value',
          * 'utm'=> 12345
          * ]
          */

          沒錯兒,就是看到的post表單的字段 firstName,還有 querystring 的查詢參數(shù) utm,還有一個是用于 CSRF 防護(hù)的laravel內(nèi)置函數(shù),默認(rèn)的表單字段就是 __token,所以大可不必費心。

          但是有代碼潔癖的同學(xué)會覺得受不了,這個不是我的字段,我在代碼里也用不到,我不想看到這個 __token,這個陌生的變量。可以,我們在請求參數(shù)內(nèi)直接過濾掉就好了:

          Route::post('/post-route', function (Request $request) {
              var_dump($request->except('_token'));
          });

          其中,except() 方法就是用來過濾某些字段,不需要使用的。與之對應(yīng)的就是 only() 方法,是指定哪些是用的字段。這樣用:

          $request->only(['firstName', 'utm']);

          還有些時候邏輯判斷有些鍵是否存在,laravel提供了兩種方式判斷是否存在,一個是 has ,一個是 exists。有同學(xué)會疑問,為什么有了 has還要 exists呢?因為他們的作用不同。

          has方法不僅會判斷該鍵存在,如果該鍵的值是 (比如 null,空字符串,false,0,空數(shù)組,空對象等等),也是判斷為false的。所以就有必要使用 exists 單純地判斷鍵的存在與否,大家用的時候一定要注意這個細(xì)微的差別

          用法很簡單,直接調(diào)用方法即可:

          if ($request->has('utm')) {
              // Do some work
          }

          如果對于輸入值鍵不存在,我們也可以為其設(shè)置一個默認(rèn)值,這就是 input 方法的第二個參數(shù),使用如下調(diào)用:

          Route::post('/post-route', function (Request $request) {
              $userName=$request->input('name', 'anonymous');
          });

          如果用戶沒有傳入 name 字段,那么就用 anonymous 替代。

          上面說的都是簡單的鍵值對,還有一種表單,傳入的字段可能會是數(shù)組,比如下面這個:

          <form method="post" action="/post-route">
              {{ csrf_field() }}
              <input type="text" name="employees[0][firstName]">
              <input type="text" name="employees[0][lastName]">
              <input type="text" name="employees[1][firstName]">
              <input type="text" name="employees[1][lastName]">
              <input type="submit">
          </form>

          laravel內(nèi)獲取數(shù)組可以使用點式方式讀取,這是因為laravel解析的時候使用了助手類 Arr 的通用方法。比如獲取某個鍵:

          $employeeZeroFirstName=$request->input('employees.0.firstName');

          明確地指定鍵名,并對應(yīng)好層級即可。還可以使用星號匹配某一層級所有的鍵:

          $allLastNames=$request->input('employees.*.lastName');

          或者僅指定某個鍵,后面不管多少層級原樣返回:

          $employeeOne=$request->input('employees.1');

          具體用法讀者可以查看源碼或文檔,深入研究一下Arr操作類的用法。


          寫在最后

          本文幾乎涵蓋了用戶輸入input方法的最為常用的一些方法,我們只講了怎么正常地獲取用戶數(shù)據(jù),沒有講如何驗證數(shù)據(jù)有效性。因為前端驗證幾乎形同虛設(shè),最后能寫到數(shù)據(jù)庫的數(shù)據(jù),還是要應(yīng)用程序把關(guān)。

          那就是驗證器的工作了,驗證器,我們放到后續(xù)章節(jié)再詳細(xì)地講。

          Happy coding :-)


          我是@程序員小助手,專注編程知識,圈子動態(tài)的IT領(lǐng)域原創(chuàng)作者


          主站蜘蛛池模板: 日本一区二三区好的精华液| 亚洲av午夜福利精品一区人妖| 果冻传媒董小宛一区二区| 亚洲线精品一区二区三区 | 无码人妻品一区二区三区精99| 日韩人妻精品无码一区二区三区| 99偷拍视频精品一区二区 | 久久精品道一区二区三区| 国语对白一区二区三区| 无码精品黑人一区二区三区 | 高清一区二区三区视频| av无码免费一区二区三区| 另类一区二区三区| 美女视频一区二区| 国产乱子伦一区二区三区| 竹菊影视欧美日韩一区二区三区四区五区 | 国模视频一区二区| 麻豆va一区二区三区久久浪| 亚洲福利视频一区二区三区| 精品国产福利第一区二区三区| 波多野结衣中文字幕一区| 波多野结衣在线观看一区| 国产一区二区三区不卡在线看| 国产一区在线mmai| 国产精品成人一区无码| 亚洲国产精品一区二区久久| 影院无码人妻精品一区二区| 麻豆AV天堂一区二区香蕉| 日韩一区二区免费视频| 美女免费视频一区二区| 中文字幕在线精品视频入口一区 | 波多野结衣电影区一区二区三区 | 亚洲AV无码一区二三区| 国产亚洲一区区二区在线| 精品国产免费一区二区三区香蕉| 亚洲伦理一区二区| 精品无码成人片一区二区| 中文字幕亚洲一区| 日本无码一区二区三区白峰美 | 呦系列视频一区二区三区| 欲色影视天天一区二区三区色香欲|