10个优质的用来搭建 Laravel 应用的包(分享)
为何会创建这个包的列表?因为我是一个「比较懒」的开发者,在脸书上是多个 Laravel 小组的成员。平日遇到最多的问题就是开发是需要用那些包。我很懒所以我不想每次都从头开始搞这些东东。
为何此文没有包括管理包?它们将会在另外一篇文章中进行讲解。
- 模块
如果你不是开发一个「玩具项目」。那么,使用模块以及按模块功能进行划分是比较推荐的做法。集中管理模块的实体、控制器、视图、路由、配置等信息。还有啥?以及更方便的在多个应用间进行代码转移。
优势
代码的封装代码中的顺序多应用的代码转移代码生成器 — 模块、控制器、实体类等
详见 Github https://github.com/nWidart/laravel-modules
- Spatie permissions
如果你不知道 Spatie,你应该开始立刻开始了解他们!伟大的公司。Spaite 的角色和权限包是权限包中最优秀的之一。
优点
角色权限直接权限中间件丰富的 blade 模板命令Artisan 命令
哪里获取?https://github.com/spatie/laravel-permission
- Laravel Datatables
如果你使用 DataTables 并且你在创建你自己的 JavaScript、Ajax、路由、数据库查询、过滤器、搜索等。相信我,这是一个更好的解决方案。
优点
使用简单DataTable 服务自定义数据库查询生成 JavaScript多重定制
哪里获取?https://github.com/yajra/laravel-datatables
- 表单构造器
说实话,我不喜欢在 HTML 中混合表单。Laravel 表单构造器能够让你的表单从 HTML 视图中分离出去。
优势
使用简单表单对象化支持多个表单字段支持子表轻松创建自定义表单字段
详见 Github : https://github.com/kristijanhusak/laravel-form-builder
- Flash 通知
在保存了表单数据后,我会重定向到列表页,编辑页或者展示页。有了 Flash 通知,我们可以轻松的给到用户成功,警告或者错误的提示。
优势
使用简单多个参数 (成功,错误,警告, 弹窗,语气等)自定义视图
详见 Github : https://github.com/laracasts/flash
- Laravel Menu package
如果你的应用需要很简单方便的根据用户角色或者权限来更改不同的菜单项的话,这个包你可不要错过了。
优势
使用简单多视图复用自定义数据可填充性可缓存
看这里看这里 https://github.com/spatie/laravel-menu
- Laravel Activity Log
很多数据管理员都想记录他们用户的所有活跃记录。这个包可以很方便的记录你的用户何时何地的创建、更新实体的记录。外加,现在这个包还可以记录多个版本的实体间数据的变更。
优势
简单的实体实现记录所有创建、更新实体的用户和次数支持记录自定义信息(登录、登出等)
戳我呀 https://github.com/spatie/laravel-activitylog
- Laravel Js Validation
这是我的菜!根据请求的数据对象自动进行前端验证是不是听起来就很赞? 对,没错!我们懒人的目标就是—代码越少越好!
优势
根据请求对象生成前端验证不需要写任何 Javascript 代码(对,你没听错)支持异步验证(唯一、是否存在、自定义规则等)多语言
快点吧 https://github.com/proengsoft/laravel-jsvalidation
- Persistent settings
如果你的应用包含比较多而且复杂的配置项(主题、logo、公司设置、API 设置、默认设置项等),那这个包就派上用场了。它在数据库中保存一个键值对(key => value)的配置信息,然后你就可以很方便的在应用中用辅助方法使用它们啦!
优势
可缓存可加密可上下文的设置项 (用户举例)
哪里获取呢? https://github.com/edvinaskrucas/settings
- Multi-tenant
在开发 SASS 应用服务是,每个客户都有各自独立的数据库、域名和子域名,并且不会把这些都放到同一个代码仓库里。如果你有类似的需求,此项目既是为你准备的。
功能:
多数据库;多域名和子域名;自动生成 Apache 或者 Nginx 配置文件;支持队列;支持文件分开存储。
可以从这里获取: https://github.com/hyn/multi-tenant
额外推荐
- Laravel IDE Helper — 可以让你的 PHPStorm 支持自动补全,支持的类型有 Model 、Facade 和数据库实体字段等。
https://github.com/barryvdh/laravel-ide-helper
- 提供数组、字符串、对象相关的辅助函数:
https://github.com/letsdrink/ouzo-goodies
- 自动将 PHP 数组转换为 Javascript 对象: