这里有 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. 2018.10.20 2018-2019 ICPC,NEERC,Southern Subregional Contest(Online Mirror, ACM-ICPC Rules)

    i207M的“怕不是一个小时就要弃疗的flag”并没有生效,这次居然写到了最后,好评=.= 然而可能是退役前和i207M的最后一场比赛了TAT 不过打得真的好爽啊QAQ 最终结果: 看见那几个罚时没, ...

  2. bzoj2441【中山市选】小W的问题

    题目描述 有一天,小W找了一个笛卡尔坐标系,并在上面选取了N个整点.他发现通过这些整点能够画出很多个“W”出来.具体来说,对于五个不同的点(x1, y1), (x2, y2), (x3, y3), ( ...

  3. 使用VS2012调试Dump文件

    前一节我讲了怎么设置C++崩溃时生成Dump文件 , 点击 传送门 , 这一节我讲讲怎么使用 VS2012 调试生成的 Dump 文件 , 甚至可以精确到出错的那一行代码上面 ; 1. 生成 Dump ...

  4. JavaScript搜索关键字高亮的实现

    高亮功能主要是指对页面中指定区域的指定文字进行高亮显示,也就是背景着色.一般在搜索结果页面会经常用到这个功能. 下面就为大家提供一种解决方案,用javascript实现. 首先在<head> ...

  5. boost::asio::deadline_timer(理解)

    并发与并行: 并发和并行从宏观上来讲都是同时处理多路请求的概念.但并发和并行又有区别,并行是指两个或者多个事件在同一时刻发生:而并发是指两个或多个事件在同一时间间隔内发生. 1.Timer.1 - 使 ...

  6. 题解【51nod 1290 Counting Diff Pairs】

    Description 求区间内有多少对 \((i,j)\) 满足 \(|a_i - a_j| \leq k\) Solution 可以莫队做(万能的莫队) 只需要考虑加入一个数会产生多少贡献即可 离 ...

  7. jenkins权限管理,不同用户显示不同项目

    1.安装Role-based Authorization Strategy插件 系统管理-管理插件-可选插件中安装Role-based Authorization Strategy 安装后重启jenk ...

  8. 朝韩危机-Python模拟导弹互射

    萨德系统是麻省理工学院的林肯实验室牵头开发的.林肯实验室可以说是美军方手中的一张王牌.二个反导系统(末段高空区域导弹防御(THAAD)系统,和 国家导弹防御系统(NMD))均由实验室牵头.它既是技术支 ...

  9. P2207 Photo

    P2207 Photo 题目描述 Framer Jhon 打算给他的N头奶牛照相,( 2 <= N <= 1 000 000 000) . 他们排成一条线,并且依次取1~N作为编号. 每一 ...

  10. jquery.lazyload插件实现图片延迟加载详解

    什么是LazyLoad技术? 在页面上图片比较多的时候,打开一张页面必然引起与服务器大数据量的交互.尤其是对于高清晰的图片,占了几百K的空间.Lazy Load 是一个用 JavaScript 编写的 ...