下面由Laravel教程欄目給大家推薦分享10 個(gè)優(yōu)質(zhì)的 Laravel 擴(kuò)展包,用以提升開(kāi)發(fā)速度,希望對(duì)大家有所幫助!
這里有 10+ 個(gè)用來(lái)搭建 Laravel 應(yīng)用的包
為何會(huì)創(chuàng)建這個(gè)包的列表?因?yàn)槲沂且粋€(gè)「比較懶」的開(kāi)發(fā)者,在臉書(shū)上是多個(gè) Laravel 小組的成員。平日遇到最多的問(wèn)題就是開(kāi)發(fā)是需要用那些包。我很懶所以我不想每次都從頭開(kāi)始搞這些東東。
為何此文沒(méi)有包括管理包?它們將會(huì)在另外一篇文章中進(jìn)行講解。
1. 模塊
如果你不是開(kāi)發(fā)一個(gè)「玩具項(xiàng)目」。那么,使用模塊以及按模塊功能進(jìn)行劃分是比較推薦的做法。集中管理模塊的實(shí)體、控制器、視圖、路由、配置等信息。還有啥?以及更方便的在多個(gè)應(yīng)用間進(jìn)行代碼轉(zhuǎn)移。
優(yōu)勢(shì)
- 代碼的封裝
- 代碼中的順序
- 多應(yīng)用的代碼轉(zhuǎn)移
- 代碼生成器?— 模塊、控制器、實(shí)體類等
詳見(jiàn) Github https://github.com/nWidart/laravel-modules
2. Spatie permissions
如果你不知道 Spatie,你應(yīng)該開(kāi)始立刻開(kāi)始了解他們!偉大的公司。Spaite 的角色和權(quán)限包是權(quán)限包中最優(yōu)秀的之一。
優(yōu)點(diǎn)
- 角色
- 權(quán)限
- 直接權(quán)限
- 中間件
- 豐富的 blade 模板命令
- Artisan 命令
哪里獲???https://github.com/spatie/laravel-permission
3. Laravel Datatables
如果你使用 DataTables 并且你在創(chuàng)建你自己的 JavaScript、Ajax、路由、數(shù)據(jù)庫(kù)查詢、過(guò)濾器、搜索等。相信我,這是一個(gè)更好的解決方案。
優(yōu)點(diǎn)
- 使用簡(jiǎn)單
- DataTable 服務(wù)
- 自定義數(shù)據(jù)庫(kù)查詢
- 生成 JavaScript
- 多重定制
哪里獲取?https://github.com/yajra/laravel-datatables
4. 表單構(gòu)造器
說(shuō)實(shí)話,我不喜歡在 HTML 中混合表單。Laravel 表單構(gòu)造器能夠讓你的表單從 HTML 視圖中分離出去。
優(yōu)勢(shì)
- 使用簡(jiǎn)單
- 表單對(duì)象化
- 支持多個(gè)表單字段
- 支持子表
- 輕松創(chuàng)建自定義表單字段
詳見(jiàn) Github : https://github.com/kristijanhusak/laravel-form-builder
5. Flash 通知
在保存了表單數(shù)據(jù)后,我會(huì)重定向到列表頁(yè),編輯頁(yè)或者展示頁(yè)。有了 Flash 通知,我們可以輕松的給到用戶成功,警告或者錯(cuò)誤的提示。
優(yōu)勢(shì)
- 使用簡(jiǎn)單
- 多個(gè)參數(shù) (成功,錯(cuò)誤,警告, 彈窗,語(yǔ)氣等)
- 自定義視圖
詳見(jiàn) Github : https://github.com/laracasts/flash
6. Laravel Menu package
如果你的應(yīng)用需要很簡(jiǎn)單方便的根據(jù)用戶角色或者權(quán)限來(lái)更改不同的菜單項(xiàng)的話,這個(gè)包你可不要錯(cuò)過(guò)了。
優(yōu)勢(shì)
- 使用簡(jiǎn)單
- 多視圖復(fù)用
- 自定義
- 數(shù)據(jù)可填充性
- 可緩存
看這里看這里 https://github.com/spatie/laravel-menu
7. Laravel Activity Log
很多數(shù)據(jù)管理員都想記錄他們用戶的所有活躍記錄。這個(gè)包可以很方便的記錄你的用戶何時(shí)何地的創(chuàng)建、更新實(shí)體的記錄。外加,現(xiàn)在這個(gè)包還可以記錄多個(gè)版本的實(shí)體間數(shù)據(jù)的變更。
優(yōu)勢(shì)
- 簡(jiǎn)單的實(shí)體實(shí)現(xiàn)
- 記錄所有創(chuàng)建、更新實(shí)體的用戶和次數(shù)
- 支持記錄自定義信息(登錄、登出等)
戳我呀 https://github.com/spatie/laravel-activitylog
8. Laravel Js Validation
這是我的菜!根據(jù)請(qǐng)求的數(shù)據(jù)對(duì)象自動(dòng)進(jìn)行前端驗(yàn)證是不是聽(tīng)起來(lái)就很贊? 對(duì),沒(méi)錯(cuò)!我們懶人的目標(biāo)就是—代碼越少越好!
優(yōu)勢(shì)
- 根據(jù)請(qǐng)求對(duì)象生成前端驗(yàn)證
- 不需要寫(xiě)任何 Javascript 代碼(對(duì),你沒(méi)聽(tīng)錯(cuò))
- 支持異步驗(yàn)證(唯一、是否存在、自定義規(guī)則等)
- 多語(yǔ)言
快點(diǎn)吧 https://github.com/proengsoft/laravel-jsvalidation
9. Persistent settings
如果你的應(yīng)用包含比較多而且復(fù)雜的配置項(xiàng)(主題、logo、公司設(shè)置、API 設(shè)置、默認(rèn)設(shè)置項(xiàng)等),那這個(gè)包就派上用場(chǎng)了。它在數(shù)據(jù)庫(kù)中保存一個(gè)鍵值對(duì)(key => value)的配置信息,然后你就可以很方便的在應(yīng)用中用輔助方法使用它們啦!
優(yōu)勢(shì)
- 可緩存
- 可加密
- 可上下文的設(shè)置項(xiàng) (用戶舉例)
哪里獲取呢? https://github.com/edvinaskrucas/settings
10. Multi-tenant
在開(kāi)發(fā) SASS 應(yīng)用服務(wù)是,每個(gè)客戶都有各自獨(dú)立的數(shù)據(jù)庫(kù)、域名和子域名,并且不會(huì)把這些都放到同一個(gè)代碼倉(cāng)庫(kù)里。如果你有類似的需求,此項(xiàng)目既是為你準(zhǔn)備的。
功能:
- 多數(shù)據(jù)庫(kù);
- 多域名和子域名;
- 自動(dòng)生成 Apache 或者 Nginx 配置文件;
- 支持隊(duì)列;
- 支持文件分開(kāi)存儲(chǔ)。
可以從這里獲?。?https://github.com/hyn/multi-tenant
額外推薦
11. Laravel IDE Helper? — 可以讓你的 PHPStorm 支持自動(dòng)補(bǔ)全,支持的類型有 Model 、Facade 和數(shù)據(jù)庫(kù)實(shí)體字段等。
https://github.com/barryvdh/laravel-ide-helper
12. 提供數(shù)組、字符串、對(duì)象相關(guān)的輔助函數(shù):
https://github.com/letsdrink/ouzo-goodies
13. 自動(dòng)將 PHP 數(shù)組轉(zhuǎn)換為 Javascript 對(duì)象:
https://packagist.org/packages/laracasts/utilities
英文原文地址:https://medium.com/@laravelbap/10-laravel-packages-for-building-laravel-apps-67d728bcfcd9
譯文地址:https://learnku.com/laravel/t/12529/10-high-quality-laravel-extensions