mammutgroup / fractal
处理复杂数据结构的输出,以便API输出。
0.14.0
2016-07-11 05:09 UTC
Requires
- php: >=5.4
Requires (Dev)
- illuminate/contracts: ~5.0
- mockery/mockery: ~0.9
- pagerfanta/pagerfanta: ~1.0.0
- phpunit/phpunit: ~4.0
- squizlabs/php_codesniffer: ~1.5
- zendframework/zend-paginator: ~2.3
Suggests
- illuminate/pagination: The Illuminate Pagination component.
- pagerfanta/pagerfanta: Pagerfanta Paginator
- zendframework/zend-paginator: Zend Framework Paginator
This package is not auto-updated.
Last update: 2024-09-23 12:45:48 UTC
README
Fractal为复杂数据输出提供展示和转换层,类似于RESTful API中的输出,并且与JSON配合得非常好。将其视为JSON/YAML等数据的视图层。
在构建API时,人们通常只是从数据库中抓取内容并将其传递给json_encode()
。这可能会在“简单”API中过得去,但如果它们被公众使用或由移动应用使用,这会导致输出不一致。
目标
- 在源数据与输出之间创建保护层,以便模式更改不会影响用户
- 系统性地转换数据类型,以避免使用
foreach()
和(bool)
遍历一切 - 包含(即嵌入、嵌套或侧加载)复杂数据结构的关系
- 与HAL和JSON-API等标准一起工作,但允许自定义序列化
- 支持数据结果的分页,适用于小型和大型数据集
- 通常简化了非简单API中输出数据的细微复杂性
此软件包符合PSR-1、PSR-2和PSR-4标准。如果您发现合规性疏忽,请通过拉取请求发送补丁。
安装
通过Composer
$ composer require league/fractal
要求
此版本支持以下PHP版本。
- PHP 5.4
- PHP 5.5
- PHP 5.6
- PHP 7.0-dev
- HHVM
文档
在gh-pages分支中为此文档做出贡献。
待办事项
- 添加HAL序列化器
测试
$ phpunit
贡献
有关详细信息,请参阅CONTRIBUTING和CONDUCT。
鸣谢
许可
MIT许可(MIT)。有关更多信息,请参阅许可文件。