connell / gratis
PHP 中 REST 开发的框架。
Requires
- php: ^8.3
- ext-pdo: *
Requires (Dev)
- guzzlehttp/guzzle: ^7.8
- phpunit/phpunit: ^10.5
This package is auto-updated.
Last update: 2024-09-13 19:45:48 UTC
README
一个用于在 PHP 中开发类似 REST 的 API 的轻量级框架。
目录
概述
Gratis 是一个多功能的框架,旨在促进关注点的分离,通过将逻辑封装在处理器中,促进可扩展的编码实践。主要针对创建遵循 CRUD 生命周期的强大且可扩展的 API,框架遵循类似 REST 的架构风格。它允许与 SQL 数据库的无缝交互,为构建 Web 应用程序提供结构化和高效的基石。
Composer
可以通过运行以下命令在 composer PHP 项目中使用 Gratis 框架,
composer require connell/gratis
预期结构
│
└── src/
├── Models/
│ └── ...
│
├── Controllers/
│ └── ...
│
├── Middlewares/
│ └── ...
│
├── View/
│ └── ...
│
└── ...
代码结构经过精心设计,以符合良好的关注点分离原则,为 模型、控制器、中间件 和 视图 组件划分明确的角色。
-
中间件
中间件位于流程的前端,在控制器接管之前,首先访问客户端 请求 和 响应 对象。这使得它们在处理客户端验证和跨源资源共享等任务上非常熟练。
-
控制器
负责管理 HTTP 请求,API 中的控制器在协调与后端逻辑的通信中扮演关键角色,确保与前端的信息交换无缝进行。
-
模型
模型具有执行数据库 I/O 操作的能力,并维护严格类型化的数据库模式。这种承诺确保了系统中的数据完整性和可靠性。
-
视图
视图位于专用目录中,封装了针对单页 Web 应用程序优化的静态网页代码。
此框架专门设计用于与当代前端框架(如 Vue.js 或 React)生成的静态文件集成。
开发
以下详细介绍了开发环境信息。
需求
此框架所需的依赖项如下所示,来自 composer.json
,
"require": { "php": "^8.3", "ext-pdo": "*" }, "require-dev": { "phpunit/phpunit": "^10.5", "guzzlehttp/guzzle": "^7.8" }
安装依赖
此框架中使用的唯一依赖项是用于开发测试的 PHPUnit。为了安装 PHPUnit 以及生成自动加载文件,请运行以下命令,
composer install
运行 PHPUnit 测试套件
如果您想运行集成测试,本地 PHP 开发服务器必须在 https://:8000
上运行。在 composer.json
中有一个脚本可以完成此操作,
composer dev
为了运行此框架的整个自动化测试套件,请执行,
composer test
仅针对集成测试,
composer test:integration
仅针对单元测试,
composer test:unit
或查看 GitHub Actions 选项卡。
许可
本软件根据 MIT 许可证分发。有关更多信息,请参阅 LICENSE
。

由 Connell Reffo 于 2024 年开发和测试。