這里有 10+ 個用來搭建 Laravel 應用的包
為何會創(chuàng)建這個包的列表?因為我是一個「比較懶」的開發(fā)者,在臉書上是多個 Laravel 小組的成員。平日遇到最多的問題就是開發(fā)是需要用那些包。我很懶所以我不想每次都從頭開始搞這些東東。
為何此文沒有包括管理包?它們將會在另外一篇文章中進行講解。
1. 模塊
如果你不是開發(fā)一個「玩具項目」。那么,使用模塊以及按模塊功能進行劃分是比較推薦的做法。集中管理模塊的實體、控制器、視圖、路由、配置等信息。還有啥?以及更方便的在多個應用間進行代碼轉移。
優(yōu)勢
– 代碼的封裝
– 代碼中的順序
– 多應用的代碼轉移
– 代碼生成器?— 模塊、控制器、實體類等
詳見 Github https://github.com/nWidart/laravel-modules
2. Spatie permissions
如果你不知道 Spatie,你應該開始立刻開始了解他們!偉大的公司。Spaite 的角色和權限包是權限包中最優(yōu)秀的之一。
優(yōu)點
– 角色
– 權限
– 直接權限
– 中間件
– 豐富的 blade 模板命令
– Artisan 命令
哪里獲?。縣ttps://github.com/spatie/laravel-permission
3. Laravel Datatables
如果你使用 DataTables 并且你在創(chuàng)建你自己的 JavaScript、Ajax、路由、數(shù)據(jù)庫查詢、過濾器、搜索等。相信我,這是一個更好的解決方案。
優(yōu)點
– 使用簡單
– DataTable 服務
– 自定義數(shù)據(jù)庫查詢
– 生成 JavaScript
– 多重定制
哪里獲???https://github.com/yajra/laravel-datatables
4. 表單構造器
說實話,我不喜歡在 HTML 中混合表單。Laravel 表單構造器能夠讓你的表單從 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
如果你的應用需要很簡單方便的根據(jù)用戶角色或者權限來更改不同的菜單項的話,這個包你可不要錯過了。
優(yōu)勢
– 使用簡單
– 多視圖復用
– 自定義
– 數(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ù)對象自動進行前端驗證是不是聽起來就很贊? 對,沒錯!我們懶人的目標就是—代碼越少越好!
優(yōu)勢
– 根據(jù)請求對象生成前端驗證
– 不需要寫任何 Javascript 代碼(對,你沒聽錯)
– 支持異步驗證(唯一、是否存在、自定義規(guī)則等)
– 多語言
快點吧 https://github.com/proengsoft/laravel-jsvalidation
9. Persistent settings
如果你的應用包含比較多而且復雜的配置項(主題、logo、公司設置、API 設置、默認設置項等),那這個包就派上用場了。它在數(shù)據(jù)庫中保存一個鍵值對(key => value)的配置信息,然后你就可以很方便的在應用中用輔助方法使用它們啦!
優(yōu)勢
– 可緩存
– 可加密
– 可上下文的設置項 (用戶舉例)
哪里獲取呢? https://github.com/edvinaskrucas/settings
10. Multi-tenant
在開發(fā) SASS 應用服務是,每個客戶都有各自獨立的數(shù)據(jù)庫、域名和子域名,并且不會把這些都放到同一個代碼倉庫里。如果你有類似的需求,此項目既是為你準備的。
功能:
– 多數(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ù)組、字符串、對象相關的輔助函數(shù):
https://github.com/letsdrink/ouzo-goodies
13. 自動將 PHP 數(shù)組轉換為 Javascript 對象:
https://packagist.org/packages/laracasts/utilities