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