codingpaws/expose

将您的类转换为API实体

v1.1 2022-08-29 17:47 UTC

This package is auto-updated.

Last update: 2024-09-29 06:25:54 UTC


README

Expose 是一个框架,用于将您的类(例如 Laravel 实体)转换为 API 实体。

示例

安装: composer require codingpaws/expose

use CodingPaws\Expose\HasEntity;
use CodingPaws\Expose\Entity;

// Dog.php
class Dog implements HasEntity {
  public function __construct(public string $name, public string $breed)
  {
  }
}

// DogEntity.class
class DogEntity extends Entity {
  public function __invoke(): void
  {
    $this->expose('name');
    $this->expose('breed');
    $this->expose('cute', true);
  }
}

// In your controller
$result = Entity::transform(new Dog('Lacey', 'Border Collie'));

// Generates an array like
$result = [
  'name' => 'Lacey',
  'breed' => 'Border Collie',
  'cute' => true,
];