maurobonfietti / rest-api-slim-php
使用 Slim PHP 框架的 REST API 示例。
Requires
- php: ^8.0
- composer/composer: ^2.0
- firebase/php-jwt: ^5.0
- palanik/corsslim: dev-slim3
- predis/predis: ^1.1
- respect/validation: ^1.1
- slim/slim: ^3.12.3
- vlucas/phpdotenv: ^5.1
Requires (Dev)
- nunomaduro/phpinsights: ^2.0
- pestphp/pest: ^1.7
- phpstan/phpstan: ^1.2
- phpunit/phpunit: ^9.0
- rector/rector: ^0.12.4
- vimeo/psalm: ^4.18
- dev-master
- 2.23.0.x-dev
- v2.22.0.x-dev
- v2.21.0.x-dev
- v2.21.0
- v2.20.0.x-dev
- v2.20.0
- 2.19.0.x-dev
- 2.18.0.x-dev
- v2.18.0
- 2.17.0.x-dev
- v2.17.0
- 2.16.0.x-dev
- 2.16.0
- 2.15.0.x-dev
- 2.15.0
- 2.14.0.x-dev
- 2.14.0
- 2.13.0.x-dev
- 2.13.0
- 2.12.0.x-dev
- 2.12.0
- 2.11.0.x-dev
- 2.11.0
- 2.10.0.x-dev
- 2.10.0
- 2.9.0.x-dev
- 2.9.0
- 2.8.0.x-dev
- 2.8.0
- 2.7.0.x-dev
- 2.7.0
- 2.6.0.x-dev
- 2.6.0
- 2.5.0.x-dev
- 2.5.0
- 2.4.0.x-dev
- 2.4.0
- 2.3.0.x-dev
- 2.3.0
- 2.2.0.x-dev
- 2.2.0
- 2.1.0.x-dev
- 2.1.0
- 2.0.0.x-dev
- 2.0.0
- 1.27.0
- 1.26.0.x-dev
- 1.26.0
- 1.25.0.x-dev
- 1.25.0
- 1.24.0.x-dev
- 1.24.0
- 1.23.0.x-dev
- 1.23.0
- 1.22.0.x-dev
- 1.22.0
- 1.21.0.x-dev
- 1.21.0
- 1.20.0.x-dev
- 1.20.0
- 1.19.0.x-dev
- 1.19.0
- 1.18.0.x-dev
- 1.18.0
- 1.17.0.x-dev
- 1.17.0
- 1.16.0.x-dev
- 1.16.0
- 1.15.0.x-dev
- 1.15.0
- 1.14.0.x-dev
- 1.14.0
- 1.13.0.x-dev
- 1.13.0
- 1.12.0.x-dev
- 1.12.0
- 1.11.0.x-dev
- 1.11.0
- 1.10.0.x-dev
- 1.10.0
- 1.9.0.x-dev
- 1.9.0
- 1.8.0.x-dev
- 1.8.0
- 1.7.0.x-dev
- 1.7.0
- 1.6.0.x-dev
- 1.6.0
- 1.5.0.x-dev
- 1.5.0
- 1.4.0.x-dev
- 1.4.0
- 1.3.0.x-dev
- 1.3.0
- 1.2.0.x-dev
- 1.2.0
- 1.1.0.x-dev
- 1.1.0
- 1.0.0.x-dev
- 1.0.0
- 0.60.0.x-dev
- 0.60.0
- 0.59.0.x-dev
- 0.59.0
- 0.58.0.x-dev
- 0.58.0
- 0.57.0.x-dev
- 0.57.0
- 0.56.0.x-dev
- 0.56.0
- 0.55.0.x-dev
- 0.55.0
- 0.54.0.x-dev
- 0.54.0
- 0.53.0.x-dev
- 0.53.0
- 0.52.0.x-dev
- 0.52.0
- 0.51.0.x-dev
- 0.51.0
- 0.50.0.x-dev
- 0.50.0
- 0.49.0.x-dev
- 0.49.0
- 0.48.0.x-dev
- 0.48.0
- 0.47.0.x-dev
- 0.47.0
- 0.46.0.x-dev
- 0.46.0
- 0.45.0.x-dev
- 0.45.0
- 0.44.0.x-dev
- 0.44.0
- 0.43.0.x-dev
- 0.43.0
- 0.42.0.x-dev
- 0.42.0
- 0.41.0.x-dev
- 0.41.0
- 0.40.0.x-dev
- 0.40.0
- 0.39.0.x-dev
- 0.39.0
- 0.38.0.x-dev
- 0.38.0
- v0.37.0.x-dev
- 0.37.0
- 0.36.0.x-dev
- 0.36.0
- 0.35.0.x-dev
- 0.35.0
- v0.34.0.x-dev
- 0.34.0
- v0.33.0.x-dev
- 0.33.0
- v0.32.0.x-dev
- 0.32.0
- v0.31.0.x-dev
- 0.31.0
- 0.30.0
- 0.29.0
- 0.28.0
- 0.27.0
- 0.26.0
- 0.25.0
- 0.24.0
- 0.23.0
- 0.22.0
- 0.21.3
- 0.21.0
- 0.20.1
- dev-dependabot/composer/firebase/php-jwt-6.0.0
This package is auto-updated.
Last update: 2024-09-24 01:38:13 UTC
README
这是使用 Slim PHP 微型框架 构建的 RESTful API 的示例。
该 API 允许您管理用户、任务和笔记等资源。
您还可以阅读此 西班牙语 README。
🖥️ 使用的 技术
本项目中使用的领先技术包括
- 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
使用 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
您可以使用 docker 和 docker-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
🎥 视频 #2
📹 视频 #3
🎥 视频 #4
📦 依赖项
所需依赖项列表
- 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)。
开发依赖项列表
- phpunit/phpunit: PHP 单元测试框架。
- phpstan/phpstan: PHPStan - PHP 静态分析工具。
- pestphp/pest: Pest 是一个简洁的 PHP 测试框架。
- nunomaduro/phpinsights: 在您的控制台进行即时 PHP 质量检查。
- vimeo/psalm: 查找 PHP 应用程序中的错误的静态分析工具。
- rector/rector: 为任何 PHP 5.3+ 代码提供即时升级和即时重构。
🚥 测试
使用 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)
📸 屏幕截图
📚 文档
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集合使用: 导入集合。
🚀 部署
您可以使用Heroku部署此API。
ℹ️ 更多信息
有关此项目的更多信息,请查看我的博客文章: 如何使用 Slim PHP 创建 REST API。
您还可以查看我使用此API在 Angular 中开发的 待办事项列表 Web 应用程序。
💬 贡献
如果您想为此项目做出贡献,请打开一个问题或提交一个拉取请求。贡献总是受欢迎的!
❤️ 您喜欢这个项目吗?
您可以通过请我喝咖啡 ☕ 😋 或给这个存储库 star ⭐ 😎 来支持这个项目。
📄 许可证
MIT 许可证 (MIT)。有关更多信息,请参阅 许可证文件。