Transformer可以讓你簡(jiǎn)單的將對(duì)象轉(zhuǎn)成數(shù)組,數(shù)據(jù)類型的轉(zhuǎn)化,如整形轉(zhuǎn)成布爾形,可以包含分頁結(jié)果以及嵌套關(guān)聯(lián)。
術(shù)語解釋
transformer本節(jié)用的比較多
Transformation layer 轉(zhuǎn)化層 是準(zhǔn)備和處理transformer的庫(kù)
Transformer 轉(zhuǎn)化器 這是一個(gè)類,拿到原始的數(shù)據(jù),經(jīng)過處理,返回需要的數(shù)組以進(jìn)行格式化,轉(zhuǎn)化器的怎么處理取決于轉(zhuǎn)化層。
使用Transformers
有多種方法可以使用Transformer類
注冊(cè)一個(gè)A Transformer 給 A class
如果你注冊(cè)了一個(gè)transformer給一個(gè)給定的類,你就可以從路由中直接返回這個(gè)類的對(duì)象(要確保它可以轉(zhuǎn)化成數(shù)組),會(huì)自動(dòng)經(jīng)過transformer處理,這是一個(gè)非常簡(jiǎn)單易用的方法,因?yàn)槟憧梢詮穆酚芍兄苯臃祷亍?/p>
app('Dingo\Api\Transformer\Factory')->register('User', 'UserTransformer');
上面這個(gè)跑不通啊,跑不通,怎么破????
第二種方法: 使用響應(yīng)構(gòu)建器
前面已經(jīng)使用過了,可以用,可以跑
Fractal
Fractal是一Dingo默認(rèn)的轉(zhuǎn)化層(transformer layer),它包含了很多有用的特性來保持你數(shù)據(jù)的一致性
要使用Fractal,我們最好需要讀完Fractal的文檔
自動(dòng)關(guān)系渴求式加載
當(dāng)使用Fractal內(nèi)置功能嵌入關(guān)聯(lián)關(guān)系時(shí)確保其命名和模型中的命名一致。擴(kuò)展包會(huì)自動(dòng)加載這些關(guān)聯(lián)
高級(jí)配置
Fractal的默認(rèn)配置注冊(cè)為默認(rèn)的轉(zhuǎn)化層,要手動(dòng)配置需要在服務(wù)提供者中實(shí)列化Dingo\Api\Transformer\Adapter\Fractal實(shí)列
$this->app['Dingo\Api\Transformer\Factory']->setAdapter(function ($app) {
return new Dingo\Api\Transformer\Adapter\Fractal(new League\Fractal\Manager, 'include', ',');
});
不明白,不明白,不明白