处理复杂数据结构的输出,以便API输出。

v1.0.2 2020-09-18 20:16 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
  • PHP 7.2
  • HHVM

文档

Fractal 有由 Jekyll 驱动的 完整文档

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

待办事项

  • 添加 HAL 序列化器

测试

$ phpunit

贡献

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

维护者

致谢

许可证

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