alissonphp/lumen-api-skeleton

Lumen API 框架骨架,使用 JWT 来管理令牌,Socialite 连接 OAuth 提供商,MongoDB 驱动程序和 Predis 连接 Redis 缓存存储。

dev-master 2017-11-21 00:59 UTC

This package is not auto-updated.

Last update: 2024-09-24 19:05:20 UTC


README

使用 Lumen 框架和额外包创建 REST API 的基本结构

系统要求

  • PHP >= 5.6.4
  • OpenSSL PHP 扩展
  • PDO PHP 扩展
  • Mbstring PHP 扩展
  • Mongo DB 驱动程序
  • PHPUnit
  • Redis 驱动程序

安装

$ git clone https://github.com/alissonphp/lumen-api-skeleton
$ cd lumen-api-skeleton/

重要:在应用程序根目录下配置 .env(复制 .env.example),使用开发变量:MySQL 和 MongoDB 的连接,认证服务的 APP Id(google, facebook)。

$ composer install
$ php artisan jwt:secret
$ php artisan migrate
$ php artisan db:seed
$ php -S localhost:8000 -t public

开发服务器运行在:https://:8000

使用的包

模块化

应用程序采用模块化设计。每个模块都定义了职责和   层。模块的标准模型遵循以下结构

app
└───Modules
│   │   Controllers
│   │   Events
│   │   Listeners
│   │   Middlewares
│   │   Models
│   │   Supports
│   │   Tests
│   │   routes.php

要启用/禁用模块的功能,只需在 config / modules.php 文件的数组中指定命名空间即可。在禁用模块之前,重要的事先验证模块之间的互操作性。

路由

路由在各个模块根目录下的 routes.php 文件中定义。RouteServiceProvider 负责加载在 config / modules.php 中定义的每个模块的路由。无需实例化新的调用。

端点组成

测试

有两种类型的测试:集成和单元。应该将测试用例放在开发中的模块的 /Tests 目录下。对于集成测试,使用 "test + type + Test" 命名标准,例如:LoginIntegrationTest(测试:Login,类型:集成)。

使用命令运行测试,引用测试套件为 'unit' 或 'integration'

$ phpunit --testsuite integration
$ phpunit --testsuite unit

贡献

此存储库的目的是创建一个快速模型来使用 Lumen 框架实现 REST API。我们还有很多工作要做,才能接近一个“理想”模型:访问端点的规则、改进标准、编写测试、翻译等。

分支、享受并加入我们的项目!发送你的 pull 请求,与你的朋友分享。