maurobonfietti/rest-api-slim-php

使用 Slim PHP 框架的 REST API 示例。

v2.21.0 2023-06-04 18:07 UTC

This package is auto-updated.

Last update: 2024-09-24 01:38:13 UTC


README

这是使用 Slim PHP 微型框架 构建的 RESTful API 的示例。

该 API 允许您管理用户、任务和笔记等资源。

您还可以阅读此 西班牙语 README

Software License Build Status Code Quality Test Coverage Packagist Version

alt text

🖥️ 使用的 技术

本项目中使用的领先技术包括

  • PHP 8
  • Slim 3
  • MySQL
  • Redis
  • dotenv
  • PHPUnit
  • JSON Web Tokens (JWT)

其他工具

此外,我还使用了其他一些额外工具,如

  • Docker & Docker Compose
  • Travis CI
  • Swagger
  • Code Climate
  • Scrutinizer
  • Sonar Cloud
  • PHPStan
  • PHP Insights
  • Heroku
  • CORS

⚙️ 快速安装

要求

  • Git
  • Composer
  • PHP >= 8.0
  • MySQL/MariaDB
  • Redis(可选)
  • 或 Docker

使用 Composer

您可以通过运行以下命令创建一个新项目

$ composer create-project maurobonfietti/rest-api-slim-php [my-api-name]
$ cd [my-api-name]
$ composer restart-db
$ composer test
$ composer start

How to install

使用 Git

在您的终端中执行以下命令

$ git clone https://github.com/maurobonfietti/rest-api-slim-php.git && cd rest-api-slim-php
$ cp .env.example .env
$ composer install
$ composer restart-db
$ composer test
$ composer start

使用 Docker

您可以使用 dockerdocker-compose 使用此项目。

最小 Docker 版本

  • 引擎:18.03+
  • Compose:1.21+

命令

# Start the API (this is my alias for: docker-compose up -d --build).
$ make up

# To create the database and import test data from scratch.
$ make db

# Checkout the API.
$ curl https://:8081

# Stop and remove containers (it's like: docker-compose down).
$ make down

🛠️ 故障排除

如果您遇到困难,可以尝试逐步阅读 此指南

🎦 教程

观看关于 Slim PHP 的这个视频系列(西班牙语音频 🔉 🇪🇸 🇦🇷)。

📹 视频 #1

如何安装和配置此 API。

🎥 视频 #2

如何使用 JWT 进行认证。

📹 视频 #3

使用 Redis 缓存。

🎥 视频 #4

在 Heroku 上部署 Slim PHP。

📦 依赖项

所需依赖项列表

  • slim/slim: Slim 是一个 PHP 微型框架,它帮助您快速编写简单而强大的 Web 应用程序和 API。
  • respect/validation: PHP 上创建的最好的验证引擎。
  • palanik/corsslim: PHP Slim 的跨域资源共享(CORS)中间件。
  • vlucas/phpdotenv: 从 .env 自动加载环境变量到 getenv()$_ENV$_SERVER
  • predis/predis: PHP 和 HHVM 的灵活和功能齐全的 Redis 客户端。
  • firebase/php-jwt: 一个简单的库,用于在 PHP 中编码和解码 JSON Web Tokens (JWT)。

开发依赖项列表

🚥 测试

使用 composer test 运行所有 PHPUnit 测试。

$ composer test
> phpunit
PHPUnit 9.5.28 by Sebastian Bergmann and contributors.

........................................................          56 / 56 (100%)

Time: 00:00.697, Memory: 18.00 MB

OK (56 tests, 343 assertions)

📸 屏幕截图

Screen Shot API using Browser

Screen Shot API using Postman

📚 文档

ENDPOINTS

INFO

  • 帮助: GET /

  • 状态: GET /status

USERS

  • 登录用户: POST /login

  • 创建用户: POST /api/v1/users

  • 更新用户: PUT /api/v1/users/{id}

  • 删除用户: DELETE /api/v1/users/{id}

TASKS

  • 获取所有任务: GET /api/v1/tasks

  • 获取一个任务: GET /api/v1/tasks/{id}

  • 创建任务: POST /api/v1/tasks

  • 更新任务: PUT /api/v1/tasks/{id}

  • 删除任务: DELETE /api/v1/tasks/{id}

NOTES

  • 获取所有笔记: GET /api/v1/notes

  • 获取一个笔记: GET /api/v1/notes/{id}

  • 创建笔记: POST /api/v1/notes

  • 更新笔记: PUT /api/v1/notes/{id}

  • 删除笔记: DELETE /api/v1/notes/{id}

您还可以通过 端点完整列表 查看API文档。

使用 POSTMAN 导入

所有API信息都准备就绪,可下载并作为Postman集合使用: 导入集合

Run in Postman

🚀 部署

您可以使用Heroku部署此API。

Deploy

ℹ️ 更多信息

有关此项目的更多信息,请查看我的博客文章: 如何使用 Slim PHP 创建 REST API

您还可以查看我使用此API在 Angular 中开发的 待办事项列表 Web 应用程序

💬 贡献

如果您想为此项目做出贡献,请打开一个问题或提交一个拉取请求。贡献总是受欢迎的!

❤️ 您喜欢这个项目吗?

您可以通过请我喝咖啡 ☕ 😋 或给这个存储库 star ⭐ 😎 来支持这个项目。

Buy Me a Coffee at ko-fi.com

📄 许可证

MIT 许可证 (MIT)。有关更多信息,请参阅 许可证文件