这里有 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. bzoj 1503

    1503: [NOI2004]郁闷的出纳员 Time Limit: 5 Sec  Memory Limit: 64 MBSubmit: 12311  Solved: 4399[Submit][Stat ...

  2. Go_17:GoLang中如何使用多参数属性传参

    我们常常因为传入的参数不确定而头疼不已,golang 为我们提供了接入多值参数用于解决这个问题.但是一般我们直接写已知代码即所有的值都知道一个一个塞进去就好了,但是绝大部分我们是得到用户的大量输入想通 ...

  3. [Spark]-Spark发展历程与基本概念

    Hadoop十年 找了一张Hadoop十年的生态发展图: Spark概况: Apache Spark是一个开源簇运算框架,最初是由加州大学柏克莱分校AMPLab所开发.相对于Hadoop的MapRed ...

  4. KVM管理概述

    一.使用QEMU管理虚拟机 1.KVM指南 https://activedoc.opensuse.org/book/opensuse-virtualization-with-kvm/part-iii- ...

  5. bzoj千题计划145:bzoj3262: 陌上花开

    http://www.lydsy.com/JudgeOnline/problem.php?id=3262 三维偏序 第一维排序,第二维CDQ分治,第三维树状数组 #include<cstdio& ...

  6. 【转】MYSQL数据库设计规范与原则

    转载出:http://www.cnblogs.com/lovekingly/p/5044278.htmlMYSQL数据库设计规范 1.数据库命名规范 采用26个英文字母(区分大小写)和0-9的自然数( ...

  7. 详解tomcat连接数和线程数

    前言 在使用tomcat时,经常会遇到连接数.线程数之类的配置问题,要真正理解这些概念,必须先了解Tomcat的连接器(Connector). 在前面的文章 详解Tomcat配置文件server.xm ...

  8. Docker中执行Shell出现乱码

    问题描述 最近遇到一个问题: 执行命令 docker exec f4af9b sh -c 'bash /tmp/build.sh' 命令在docker中执行shell,会出现中文乱码的问题.但是在do ...

  9. python 远程执行命令、发布文件

    最近有个需求,想获取部分服务器上运行了那些应用服务,一台台去看,太费劲了,参考牛人写了此脚本,后期再加上一个前端页面做一些简单的运维维护的工作,凑合着先用着,待完善, 注:此脚本依懒于安装fabric ...

  10. 在cygwin下安装ns2

    首先下载ns2.可以到sourceforge去下载最新的all-in-one版本2.31,url为http://sourceforge.net/project/showfiles.php?group_ ...