gerfey/mapper

映射嵌套 Json|Array 结构。

dev-master 2021-05-08 03:54 UTC

This package is auto-updated.

Last update: 2024-09-08 11:15:07 UTC


README

Source Code Software License Total Downloads

gerfey/mapper 是一个用于将嵌套 Json/Array 结构映射到 PHP 类的 PHP 7.1+ 库。

安装

首选的安装方法是使用 PackagistComposer。运行以下命令安装包并将它添加到项目的 composer.json 文件中:

composer require gerfey/mapper @dev

使用方法

实体类

<?php

namespace App\Entity;

use Gerfey\Mapper\Annotation\Field;
use Gerfey\Mapper\Annotation\Rule;

class User
{
    /**
     * @Field(type="int")
     * @Rule(name="limit", params={0,100})
     */
    public $id;

    /**
     * @Field(name="first_name", type="string")
     */
    public $name;

    /**
     * @Field(type="object", passIn="Address")
     */
    public $address;
}
<?php

namespace App\Entity;

class Address
{
    public $street;

    public $city;
}

映射对象数组

use App\Entity\User;
use Gerfey\Mapper\Format\ArrayMapper;

$mapper = new ArrayMapper();
$entity = $mapper->map(User::class, [
    'id' => "1",
    'first_name' => "Александр",
    'address' => [
        'street' => 'просп. имени газеты Красноярский Рабочий',
        'city' => 'Красноярск'
    ]
]);
dd($entity);

结果

User {#337 ▼
  +id: 1
  +name: "Александр"
  +address: Address {#344 ▼
    +street: "просп. имени газеты Красноярский Рабочий"
    +city: "Красноярск"
  }
}

版权和许可

gerfey/mapper 库版权 © Alexander Levchenkov,许可使用 MIT 许可证 (MIT)。更多信息请参阅 LICENSE