tamaspap/fractal

处理复杂数据结构,使其准备好API输出。

0.13.0 2015-08-08 18:44 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。如果您发现符合性疏忽,请通过pull request发送补丁。

安装

通过Composer

$ composer require league/fractal

要求

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

  • PHP 5.4
  • PHP 5.5
  • PHP 5.6
  • PHP 7.0-dev
  • HHVM

文档

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

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

待办事项

  • 添加JSON-API(已完成)和HAL序列化器

测试

$ phpunit

贡献

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

致谢

许可

MIT许可(MIT)。请参阅许可文件以获取更多信息。