rexlabs/smokescreen

Smokescreen是一个用于转换和序列化数据(如API响应)的PHP库。

2.3.0 2024-08-26 06:06 UTC

README

License: MIT Packagist Build Status Code Coverage StyleCI

概述

Smokescreen是一个用于转换数据的PHP库。它非常适合转换和序列化API响应,但也可以应用于许多场景。

另请参阅 Smokescreen Laravel Library

特性

  • 简单直观的界面
  • 转换任何类型的数据(数组、模型等)
  • 嵌入相关资源(即包含项)
  • 声明式包含
  • 自动绑定包含
  • 声明式字段(包括稀疏字段集)
  • 预加载
  • 灵活的转换和序列化
  • 支持懒加载
  • 无其他依赖

使用方法

要使用Smokescreen,您需要为每个资源定义转换器,然后调用Smokescreen的item()collection()方法来转换数据。

完整文档可在以下位置找到: https://smokescreen-docs.netlify.com/

要求和依赖

  • PHP >= 7.0

如此简单。

安装

通过composer安装包

composer require rexlabs/smokescreen

Laravel包

我们提供了一个Laravel包装器包,它为在Laravel框架内工作提供了一些便利:rexlabs/laravel-smokescreen

更多信息请查看Github仓库

测试

运行phpunit测试

composer run tests

请随意添加更多测试。

常见问题解答

为什么叫“Smokescreen”

这是个好问题,谢谢你的询问。我们的团队为了给这个包想出一个完美的名字绞尽脑汁好几个小时。最后我们选择了Smokescreen,因为有一个名为smokescreen的转换器,听起来很酷。

为什么我不直接使用Fractal

我们吸取了Fractal的所有好想法,并使其更易于扩展,也更安全。

贡献

欢迎提交拉取请求。请确保代码符合PSR规范。Smokescreen on Github

我该和谁联系?

请联系团队#phoenix或以下人员之一

关于

  • 作者: Jodie Dunlop
  • 许可证: MIT
  • 版权(c)2018 Rex Software Pty Ltd