tocgis/fractal

处理准备用于API输出的复杂数据结构的输出。

0.17.2 2018-01-27 16:35 UTC

README

Latest Version Software License Build Status Coverage Status Quality Score 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 league/fractal

要求

此版本支持以下版本的 PHP。

  • PHP 5.4
  • PHP 5.5
  • PHP 5.6
  • PHP 7.0
  • PHP 7.1
  • HHVM

文档

Fractal 有完整的文档,由 Jekyll 提供。

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

待办事项

  • 添加 HAL 序列化器

测试

$ phpunit

贡献

有关详细信息,请参阅 CONTRIBUTINGCONDUCT

鸣谢

许可

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