热门搜索 :
考研考公
您的当前位置:首页正文

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', ',');
});

不明白,不明白,不明白

Top