推荐 Laravel API 项目必须使用的 8 个扩展包
如今在现代网络开发中,比较流行的模式是基于 API 开发,可以通过手机或网站来创建服务。 Laravel 是创建基于 API 的项目的最佳框架之一,它为世界各地的大型社区提供了高速开发。 Laravel 内置的项目包括 Composer,允许您添加一些包,使开发更快。 当您决定启动新的基于 API 的项目时,以下几个有用的软件包必须安装。
1. Barryvdh/laravel-debugbar
调试是开发过程中非常重要的一个环节, 通过分析问题,来找到问题,从而解决问题。 Laravel debugbar 是一个能让你在开发过程中更加方便快捷地定位到问题的扩展包。这个扩展包在Laravel 5中封装了 PHP Debug Bar ,它使用了一个 ServiceProvider 去注册并输出 debugbar 的信息 。如果你想试试它,请点击 -> 传送门.
2. Tymondesign/jwt-auth
认证是一个验证你是谁的过程,在登录过程后确认用户身份。为了简单起见,你应该使用 JWT 作为认证过程的标准方法。当你需要在两方之间转移数据时,JWT (JSON Web Token) 是紧凑的,URL安全的代表, 这里 是 JWT 在 laravel 中流行的扩展包.
3. Zizaco/entrust
ACL(访问控制列表)是一个集合操作,它告诉系统每个用户的访问权限。ACL包含用于管理特定用户的访问的角色和权限。Laravel与缺省的ACL命名为Gate。Gate是类和外观的名称,但是在我看来,Gate有点困难,所以让我们到packagist(https://packagist.org/),并找到一些简单的包来管理ACL。有很多包ACL,z[izaco /委托](https://github.com/Zizaco/entrust)是最受欢迎的ACL laravel包,你应该去。
4. Spatie/laravel-fractal
对于一个基于 API 的项目来说,最重要的事情就是 API 响应数据的输出。Laravel 采用 Eloquent 来输出 json 或数据格式的数据。如果你仅仅是查询一两张表,那问题并不大,可是如果你使用的表超过了五张以上呢,那确实有点痛苦。 Fractal 就为你提供了一个很棒的解决方案,它为那些复杂的数据输出提供了演示和转换的规则。 Spatie/laravel-fractal 采用了 facades 以便你整合进 Laravel 的项目里,不防试试吧!
5. Webpatser/laravel-uuid
UUID (通用唯一识别码) 是一组 128 bits 的字符,包含字母和数字,每一组是唯一的, 空间和时间保证唯一性,你可以在 这里 了解更多。当用户访问数据时 UUID 可以保护系统。 Webpatser/laravel-uuid 是一个 Laravel 第三方包,根据 RFC 4122 标准生成 UUID, 你可以在 这里 找到它。
6. Intervention/image
Intervention Image 是一个PHP图像处理和操作库,为创建,编辑和合成图像提供了一种更加简单和富有表现力的方式。这个扩展包包含了服务提供者和门面以便和 laravel 轻松的集成
7. Davibennun/laravel-push-notification
Davibennun/laravel-push-notification 是直接发送到用户移动显示屏幕的即时文本消息。它可以提高参与率、提升用户保留率。不仅仅可以帮助驱动你消息主题的活动,还可以有助于增加从应用程序中看到的回报。Push notifications 是最简单发送推送通知到设备的扩展包,也支持APNS(苹果)和GCM(谷歌)的推送通知服务。
8. spatie/laravel-backup
项目中最后一件重要的事情总是备份你的数据. 这个 laravel 扩展包名为 laravel-backup 它会为你的应用程序创建备份. 备份是一个zip文件,它包含你指定的目录中的所有文件以及数据库转储. 备份可以存储在你在项目中任何配置过文件系统上. 你可以一次将应用程序备份到多个文件系统上.
推荐 Laravel API 项目必须使用的 8 个扩展包的更多相关文章
- 【转】下载量最高的 100 个 Laravel 扩展包推荐
说明 Laravel 另一个令人喜欢的地方,是拥有活跃的开发者社区,而活跃的开发者社区带来的,是繁华的扩展包生态. 本文对 Packagist 上打了 Laravel 标签 的扩展包进行整理,截止到现 ...
- Laravel大型项目系列教程(三)之发表文章
Laravel大型项目系列教程(三)之发表文章 一.前言 上一节教程中完成了用户管理,这节教程将大概完成发表Markdown格式文章并展示的功能. 二.Let's go 1.数据库迁移 文章模块中我们 ...
- Laravel大型项目系列教程(一)
Laravel大型项目系列教程(一) 一.课程概述 1.课程介绍 本教程将使用Laravel完成一个多用户的博客系统,大概会包含如下内容: 路由管理. 用户管理,如用户注册.修改信息.锁定用户等. 文 ...
- 转】Mahout推荐算法API详解
原博文出自于: http://blog.fens.me/mahout-recommendation-api/ 感谢! Posted: Oct 21, 2013 Tags: itemCFknnMahou ...
- 【WEB API项目实战干货系列】- WEB API入门(一)
这篇做为这个系列的第一篇,做基本的介绍,有经验的人可以直接跳到第二部分创建 ProductController. 创建 Web API 项目 在这里我们使用VS2013, .NET 4.5.1创建 ...
- Spring Security 之API 项目安全验证(基于basic-authentication)
===================================Basic Authorization 规范===================================Request ...
- [转]Mahout推荐算法API详解
Mahout推荐算法API详解 Hadoop家族系列文章,主要介绍Hadoop家族产品,常用的项目包括Hadoop, Hive, Pig, HBase, Sqoop, Mahout, Zookeepe ...
- [扩展推荐] Laravel 中利用 GeoIP 获取用户地理位置信息
我最近需要一个用户地域检测来设置用户的默认区域和货币.由 Daniel Stainback 创建的 torann/geoip 很好地满足为Laravel 5 项目提供 GeoIP 服务的要求. 这个 ...
- 搭建一个Web API项目(DDD)
传送阵:写在最后 一.创建一个能跑的起来的Web API项目 1.建一个空的 ASP.NET Web应用 (为什么不直接添加一个Web API项目呢,那样会有些多余的内容(如js.css.Areas等 ...
随机推荐
- Android设置全局Context
新建一个java继承Application类 import android.app.Application; import android.content.Context; /** * 编写自定义Ap ...
- Java数组常用API
java.util.Arrays Arrays.asList() 数组转换成列表 String[] strArray = {"zhang", "xue", &q ...
- svn出错:directory 'xxxx' is out of date
- 纯js倒计时效果(交流加群:452892873)(本群每天都更新学习资料)
<!doctype html> <html> <head> <meta charset="utf-8"> <title> ...
- jsp jsp常用指令
jsp指令是为jsp引擎设计的,他们并不直接产生任何可见输出,而只是告诉引擎如何处理jsp页面中的其余部分. jsp中的指令 page指令 include指令 taglib指令 jsp指令的基本语法 ...
- 7dynamic_cast用法
已知下面的class层次,其中每一个class都定义有一个default constructor和一个virtual destructor: class X{……}; class A{……}; cla ...
- 重置delphi Printer对象
http://www.efg2.com/Lab/Library/UseNet/1999/0714b.txt From: "Nick Ryan" <nick@avatardes ...
- Android 注解的使用与注意事项
一般情况下我们最常用到的三个注解分别是@EActivity @ViewById 和@Click @EActivity这个注解是用来修饰Activity的,向Activity注入布局,功能相当 ...
- 使用Query进行HQL语句查询和SQL语句查询
HQL的语法比较简单,与普通SQL的区别之处是针对对象的不同,在查询语句中将sql中的表名替换成了sql中的持久化类名,因为hibernate机制是基于对象进行查询的. 不带参数的查询,语句是“fro ...
- 关于send message 函数
Windows是一个消息驱动模式的系统,SendMessage 是应用程序和应用程序之间进行消息传递的主要手段之一.由于 SendMessage 函数的参数选项过于繁多,因此很有必要作一个汇总,分门别 ...