joshbrw / entity-transformers
v0.1.2
2017-05-30 10:21 UTC
Requires
- php: >=7.0
- illuminate/support: ^5.4
Requires (Dev)
- phpunit/phpunit: ^6.1
This package is auto-updated.
Last update: 2024-08-28 23:14:47 UTC
README
本项目提供了一个标准化的实体转换器基类,可用于将实体/对象转换成数组。这些转换器的主要用途是API响应。
示例
<?php use Joshbrw\EntityTransfomers\EntityTransformer; class UserTransformer extends EntityTransformer { /** * Transform a single Entity into an array * @param mixed $entity Entity instance * @return array */ public function transform($entity): array { return [ 'id' => $entity->id, 'title' => $entity->title, 'first_name' => $entity->first_name, 'last_name' => $entity->last_name, 'email' => $entity->email, 'permissions' => $entity->permissions, 'age' => $this->getTransformationFlag('showAge') === true ? $entity->age : null ]; } }
然后可以用来转换单个实体
$transformer = new UserTransformer; $response = $transformer->transform($user);
或者转换Illuminate集合中的实体。
$users = new \Illuminate\Support\Collection($data); $transformer = new UserTransformer; $response = $transformer->transform($users);
您还可以使用转换标志在运行时设置条件,例如
$transformer = new UserTransformer; $transformer->setTransformationFlag('showAge', true); $response = $transformer->transform($user);