zend-blog-3-backend
47 строк · 1.1 Кб
1<?php
2/**
3* Created by PhpStorm.
4* User: morontt
5* Date: 23.11.14
6* Time: 12:22
7*/
8
9namespace App\API\Transformers;
10
11use App\Entity\Commentator;
12use App\Entity\CommentatorInterface;
13use App\Entity\User;
14
15class CommentatorTransformer extends BaseTransformer
16{
17/**
18* @param CommentatorInterface $item
19*
20* @return array
21*/
22public function transform(CommentatorInterface $item)
23{
24return [
25'id' => $item->getId(),
26'name' => $item->getName(),
27'email' => $item->getEmail(),
28'website' => $item->getWebsite(),
29'imageHash' => $item->getAvatarHash(),
30'isMale' => $item->getGender() === User::MALE,
31];
32}
33
34/**
35* @param Commentator $entity
36* @param array $data
37*/
38public static function reverseTransform(Commentator $entity, array $data)
39{
40$entity
41->setName($data['name'])
42->setEmail($data['email'])
43->setWebsite($data['website'])
44->setGender($data['isMale'] ? User::MALE : User::FEMALE)
45;
46}
47}
48