pixelfed/fractal

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

0.18.0 2018-07-01 02:30 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)。有关更多信息,请参阅 许可文件