tamaspap / fractal
处理复杂数据结构,使其准备好API输出。
0.13.0
2015-08-08 18:44 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-18 10:01:13 UTC
README
Fractal为复杂数据输出提供展示和转换层,类似于RESTful API中的输出,并且与JSON配合得非常好。将其视为JSON/YAML等数据的视图层。
在构建API时,人们通常会直接从数据库中抓取数据并传递给json_encode()
。这可能在“简单”API中可行,但如果它们被公众使用或被移动应用程序使用,这很快就会导致输出不一致。
目标
- 在源数据与输出之间创建一个保护层,以便模式更改不会影响用户
- 系统地类型转换数据,以避免使用
foreach()
和(bool)
进行遍历 - 包含(即嵌入、嵌套或侧加载)复杂数据结构的关系
- 与HAL和JSON-API等标准一起工作,但也允许自定义序列化
- 支持数据结果的分页,适用于小型和大型数据集
- 通常简化非简单API中数据输出的微妙复杂性
此软件包符合PSR-1、PSR-2和PSR-4。如果您发现符合性疏忽,请通过pull request发送补丁。
安装
通过Composer
$ composer require league/fractal
要求
此版本支持的PHP版本如下。
- PHP 5.4
- PHP 5.5
- PHP 5.6
- PHP 7.0-dev
- HHVM
文档
在gh-pages分支中为此文档做出贡献。
待办事项
- 添加JSON-API(已完成)和HAL序列化器
测试
$ phpunit
贡献
请参阅CONTRIBUTING以获取详细信息。
致谢
许可
MIT许可(MIT)。请参阅许可文件以获取更多信息。