这里有 10+ 个用来搭建 Laravel 应用的包

为何会创建这个包的列表?因为我是一个「比较懒」的开发者,在脸书上是多个 Laravel 小组的成员。平日遇到最多的问题就是开发是需要用那些包。我很懒所以我不想每次都从头开始搞这些东东。

为何此文没有包括管理包?它们将会在另外一篇文章中进行讲解。

1. 模块

如果你不是开发一个「玩具项目」。那么,使用模块以及按模块功能进行划分是比较推荐的做法。集中管理模块的实体、控制器、视图、路由、配置等信息。还有啥?以及更方便的在多个应用间进行代码转移。

优势

  • 代码的封装
  • 代码中的顺序
  • 多应用的代码转移
  • 代码生成器 --- 模块、控制器、实体类等

详见 Github  https://github.com/nWidart/laravel-modules

2. Spatie permissions

如果你不知道 Spatie,你应该开始立刻开始了解他们!伟大的公司。Spaite 的角色和权限包是权限包中最优秀的之一。

优点

  • 角色
  • 权限
  • 直接权限
  • 中间件
  • 丰富的 blade 模板命令
  • Artisan 命令

哪里获取?https://github.com/spatie/laravel-permission

3. Laravel Datatables

如果你使用 DataTables 并且你在创建你自己的 JavaScript、Ajax、路由、数据库查询、过滤器、搜索等。相信我,这是一个更好的解决方案。

优点

  • 使用简单
  • DataTable 服务
  • 自定义数据库查询
  • 生成 JavaScript
  • 多重定制

哪里获取?https://github.com/yajra/laravel-datatables

4. 表单构造器

说实话,我不喜欢在 HTML 中混合表单。Laravel 表单构造器能够让你的表单从 HTML 视图中分离出去。

优势

  • 使用简单
  • 表单对象化
  • 支持多个表单字段
  • 支持子表
  • 轻松创建自定义表单字段

详见 Github : https://github.com/kristijanhusak/laravel-form-builder

5. Flash 通知

在保存了表单数据后,我会重定向到列表页,编辑页或者展示页。有了 Flash 通知,我们可以轻松的给到用户成功,警告或者错误的提示。

优势

  • 使用简单
  • 多个参数 (成功,错误,警告, 弹窗,语气等)
  • 自定义视图

详见 Github : https://github.com/laracasts/flash

6. Laravel Menu package

如果你的应用需要很简单方便的根据用户角色或者权限来更改不同的菜单项的话,这个包你可不要错过了。

优势

  • 使用简单
  • 多视图复用
  • 自定义
  • 数据可填充性
  • 可缓存

看这里看这里 https://github.com/spatie/laravel-menu

7. Laravel Activity Log

很多数据管理员都想记录他们用户的所有活跃记录。这个包可以很方便的记录你的用户何时何地的创建、更新实体的记录。外加,现在这个包还可以记录多个版本的实体间数据的变更。

优势

  • 简单的实体实现
  • 记录所有创建、更新实体的用户和次数
  • 支持记录自定义信息(登录、登出等)

戳我呀 https://github.com/spatie/laravel-activitylog

8. Laravel Js Validation

这是我的菜!根据请求的数据对象自动进行前端验证是不是听起来就很赞? 对,没错!我们懒人的目标就是---代码越少越好!

优势

  • 根据请求对象生成前端验证
  • 不需要写任何 Javascript 代码(对,你没听错)
  • 支持异步验证(唯一、是否存在、自定义规则等)
  • 多语言

快点吧 https://github.com/proengsoft/laravel-jsvalidation

9. Persistent settings

如果你的应用包含比较多而且复杂的配置项(主题、logo、公司设置、API 设置、默认设置项等),那这个包就派上用场了。它在数据库中保存一个键值对(key => value)的配置信息,然后你就可以很方便的在应用中用辅助方法使用它们啦!

优势

  • 可缓存
  • 可加密
  • 可上下文的设置项 (用户举例)

哪里获取呢? https://github.com/edvinaskrucas/settings

10. Multi-tenant

在开发 SASS 应用服务是,每个客户都有各自独立的数据库、域名和子域名,并且不会把这些都放到同一个代码仓库里。如果你有类似的需求,此项目既是为你准备的。

功能:

  • 多数据库;
  • 多域名和子域名;
  • 自动生成 Apache 或者 Nginx 配置文件;
  • 支持队列;
  • 支持文件分开存储。

可以从这里获取: https://github.com/hyn/multi-tenant

额外推荐

11. Laravel IDE Helper  --- 可以让你的 PHPStorm 支持自动补全,支持的类型有 Model 、Facade 和数据库实体字段等。

https://github.com/barryvdh/laravel-ide-helper

12. 提供数组、字符串、对象相关的辅助函数:

https://github.com/letsdrink/ouzo-goodies

13. 自动将 PHP 数组转换为 Javascript 对象:

https://packagist.org/packages/laracasts/utilities

更多现代化 PHP 知识,请前往 Laravel / PHP 知识社区

10 个优质的 Laravel 扩展推荐的更多相关文章

  1. laravel扩展推荐

    1. Intervention/image 图片处理 2.Laravel User Agent 轻松识别客户端信息 3.OAuth 2.0 支持 4.页面面包屑工具 5.计划任务分发器(直接可替换掉 ...

  2. 【转】下载量最高的 100 个 Laravel 扩展包推荐

    说明 Laravel 另一个令人喜欢的地方,是拥有活跃的开发者社区,而活跃的开发者社区带来的,是繁华的扩展包生态. 本文对 Packagist 上打了 Laravel 标签 的扩展包进行整理,截止到现 ...

  3. 【扩展推荐】Laravel-ide-helper 高效的 IDE 智能提示插件 | Laravel China 社区 - 高品质的 Laravel 和 PHP 开发者社区 - Powered by PHPH

    说明# barryvdh/laravel-ide-helper 扩展包能让你的 IDE ( PHPStorm, Sublime ) 实现自动完成.代码智能提示和代码跟踪等功能,大大提高你的开发效率. ...

  4. Chrome/Chromium的实验性功能+扩展推荐,让你的Chrome/Chromium起飞!

    1 实验性功能 Chrome/Chromium内置了一些很酷的实验性功能,打开 chrome://flags 即可访问.打开这些实验性功能后,浏览器的使用体验会更好,这里Chrome的版本为80.0. ...

  5. Visual Studio 实用扩展推荐

    Visual Studio 拥有非常不错的可扩展性,在之前的文章中,我也给大家示范了如何进行编辑器的扩展(详见文末参考资源).在本篇文章中,我将介绍几款非常实用的扩展,从而帮助我们提高开发效率. C# ...

  6. [转]Visual Studio 实用扩展推荐

    本文转自 http://www.cnblogs.com/stg609/p/3726898.html Visual Studio 拥有非常不错的可扩展性,在之前的文章中,我也给大家示范了如何进行编辑器的 ...

  7. 使用 Composer 安装Laravel扩展包的几种方法

    使用 Composer 安装Laravel扩展包的几种方法 以下的三种方法都是需要你在项目的根目录运行 第一种:composer install 如有 composer.lock 文件,直接安装,否则 ...

  8. vscode 常用扩展推荐

    1.扩展推荐 Beautify    Beautify code in place for VS Code CSS Formatter     Formatter for CSS ESLint     ...

  9. 【转】10 个MySQL数据库备份教程推荐

    10 个MySQL数据库备份教程推荐 MySQL是动态网站开发中最著名的开源数据库系统.如果你在网站中使用了MySQL,那么你应该定期备份你的数据以防止它丢失. 本文将介绍自动或手动备份MySQL数据 ...

随机推荐

  1. Rstdio快捷键总结

    Rstdio常用快捷键总结 在R语言里面输入了一个不完整的指令以后 左下方的console pane一直有加号+,不管输入什么都是加号,只用推出重新打开Rstudio才行,后来google了下,按左上 ...

  2. Eloquent 条件查询——tucker-eric/eloquentfilter 笔记

    请阅读 https://github.com/Tucker-Eric/EloquentFilter , 里面有很全的文档和注释,以下仅列出关键部分. 1. 安装 composer require tu ...

  3. Linux /etc/issue 和 /etc/issue.net的作用和区别

    1./etc/motd /etc/motd即messageoftoday(布告栏信息),每次用户登录时,/etc/motd文件的内容会显示在用户的终端.系统管理员可以在文件中编辑系统活动消息,例如:管 ...

  4. nandflash,norflash,sdram,emmc,rom,ram等各种存储器识别

    老是被nandflash,norflash,sdram,emmc,rom,ram搞混,所以在这里总结一下,也为了更好的分清他们之间的关系,以至于别人问的时候不至于说不清. 我们不谈这些名次的由来,只说 ...

  5. vue 打印页面部分区域

    1. vue项目打印页面部分区域 2. 原生js实现页面局部打印功能 3. vue项目中将table组件导出Excel表格以及打印页面内容

  6. WebStorm 使用webpack打包(build) Vue 静态资源无法访问(路径不对)问题

    在WebStorm中使用webpack打包 (命令npm run build) 后生成在项目的dist目录下,在浏览器打开,静态资源js.css等无法加载.因为打包时,资源使用了绝对路径. 解决: 打 ...

  7. StringBuffer类和String 类的 equals 和 ==

    注意: equals(Object obj)equals方法的参数是任意对象 Object类的equals方法就是用==判断的,即判断两个对象是否为同一个对象 StringBuffer类没有重写equ ...

  8. bzoj千题计划121:bzoj1033: [ZJOI2008]杀蚂蚁antbuster

    http://www.lydsy.com/JudgeOnline/problem.php?id=1033 经半个下午+一个晚上+半个晚上 的 昏天黑地调代码 最终成果: codevs.洛谷.tyvj上 ...

  9. 贪心问题 POJ 2393 Yogurt factory

    题目:http://poj.org/problem?id=2393 题意:N周,每周生成牛奶(任意!),每周成本为c_i(1~5000),每周出货 y_i:出货可以使用该周生产的,也可以用之前的储存的 ...

  10. Netty URL路由方案探讨

    最近在用Netty做开发,需要提供一个http web server,供调用方调用.采用Netty本身提供的HttpServerCodec handler进行Http协议的解析,但是需要自己提供路由. ...