Transformers 转化器

Transformer可以让你简单的将对象转成数组,数据类型的转化,如整形转成布尔形,可以包含分页结果以及嵌套关联。

术语解释

transformer本节用的比较多
Transformation layer 转化层 是准备和处理transformer的库
Transformer 转化器 这是一个类,拿到原始的数据,经过处理,返回需要的数组以进行格式化,转化器的怎么处理取决于转化层。

使用Transformers

有多种方法可以使用Transformer类

注册一个A Transformer 给 A class

如果你注册了一个transformer给一个给定的类,你就可以从路由中直接返回这个类的对象(要确保它可以转化成数组),会自动经过transformer处理,这是一个非常简单易用的方法,因为你可以从路由中直接返回。

app('Dingo\Api\Transformer\Factory')->register('User', 'UserTransformer');

上面这个跑不通啊,跑不通,怎么破????

第二种方法: 使用响应构建器

前面已经使用过了,可以用,可以跑

Fractal

Fractal是一Dingo默认的转化层(transformer layer),它包含了很多有用的特性来保持你数据的一致性

要使用Fractal,我们最好需要读完Fractal的文档

自动关系渴求式加载

当使用Fractal内置功能嵌入关联关系时确保其命名和模型中的命名一致。扩展包会自动加载这些关联

高级配置

Fractal的默认配置注册为默认的转化层,要手动配置需要在服务提供者中实列化Dingo\Api\Transformer\Adapter\Fractal实列

$this->app['Dingo\Api\Transformer\Factory']->setAdapter(function ($app) {
     return new Dingo\Api\Transformer\Adapter\Fractal(new League\Fractal\Manager, 'include', ',');
});

不明白,不明白,不明白

先看下http://fractal.thephpleague.com

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,725评论 19 139
  • 从三月份找实习到现在,面了一些公司,挂了不少,但最终还是拿到小米、百度、阿里、京东、新浪、CVTE、乐视家的研发岗...
    时芥蓝阅读 42,471评论 11 349
  • 照片中这个阳光朴实的人 叫李文,大家都叫他“奶昔哥”1988年生 如今已是健康体重管理领域的名人 创业三年 仅仅依...
    云朵康嘉奇阅读 3,012评论 0 0
  • 还是要苟活着,还是要不停的创作着,或许有一天,迷雾散去,你会看到不一样的风景。
    柳拾意阅读 1,371评论 0 1
  • 就是毫无征兆的,我突然一下子愣住了。 我停下了手中键盘的敲打,思绪就似处在云雾中一样。 我开始思考自己为什么上班,...
    风不雨阅读 1,209评论 0 0