如今在现代网络开发中,比较流行的模式是基于 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文件,它包含你指定的目录中的所有文件以及数据库转储. 备份可以存储在你在项目中任何配置过文件系统上. 你可以一次将应用程序备份到多个文件系统上.