appkr/fractal

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

维护者

详细信息

github.com/appkr/fractal

主页

源代码

安装: 362

依赖: 0

建议者: 0

安全: 0

星级: 0

关注者: 3

分支: 351

0.14.0 2016-07-21 09:56 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-dev
  • HHVM

文档

Fractal有完整的文档http://fractal.thephpleague.com,由Jekyll提供。

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

待办事项

  • 添加HAL序列化器

测试

$ phpunit

贡献

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

致谢

许可

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