connell/gratis

PHP 中 REST 开发的框架。

v1.0.1 2024-01-13 18:27 UTC

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.jsReact)生成的静态文件集成。


开发

以下详细介绍了开发环境信息。


需求

此框架所需的依赖项如下所示,来自 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 年开发和测试。