danek/fractal

降低分叉到PHP 7.1+ 以处理复杂数据结构的输出,适用于API输出。

v0.20.1 2024-02-28 19:51 UTC

This package is auto-updated.

Last update: 2024-09-28 21:24:26 UTC


README

Latest Version Software License The PHP League Tests Total Downloads

Fractal为复杂数据输出提供展示和转换层,例如RESTful API中的输出,与JSON配合得非常好。将其视为JSON/YAML等的视图层。

当构建API时,人们通常会直接从数据库中抓取东西并传递给json_encode()。这可能适用于“简单”API,但如果它们公开使用或由移动应用程序使用,这很快会导致输出不一致。

目标

  • 在源数据和输出之间创建保护层,以便模式更改不会影响用户
  • 系统地类型转换数据,以避免foreach()遍历并(bool)化所有内容
  • 包含(即嵌入、嵌套或旁载)复杂数据结构的关系
  • 与HAL和JSON-API等标准一起工作,但允许自定义序列化
  • 支持数据结果分页,适用于小型和大型的数据集
  • 通常简化了非平凡API中的数据输出复杂性的输出

此软件包符合PSR-1PSR-2PSR-4。如果您注意到合规性问题,请通过拉取请求发送补丁。

安装

通过Composer

$ composer require danek/fractal

要求

此版本支持以下PHP版本

>= PHP 7.1

文档

Fractal拥有由Jekyll提供的完整文档

gh-pages分支中为此文档做出贡献。

待办事项

  • 添加HAL序列化器

测试

$ phpunit

贡献

请参阅CONTRIBUTINGCONDUCT以获取详细信息。

维护者

致谢

许可

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