troytft/mapper

此包已被弃用,不再维护。未建议替代包。

Mapper 是一个用于将数据映射到对象的 PHP 库,可以通过注解配置属性类型。

v2.1.0 2021-05-05 10:38 UTC

README

Mapper 是一个用于将数据映射到对象的 PHP 库,可以通过注解配置属性类型。

特性

  • 支持标量类型:整数、浮点数、布尔值、字符串
  • 支持使用对象和集合类型进行任何嵌套级别的映射
  • 支持与日期一起工作
  • 允许编写自定义类型
  • 允许定义属性的 null 可用性

使用方法

<?php

use Mapper\Annotation as Mapper;
use Mapper\ModelInterface;

class Movie implements ModelInterface
{
    /**
     * @var string
     *
     * @Mapper\StringType()
     */
    private $name;

    /**
     * @var Release[]|null
     *
     * @Mapper\CollectionType(type=@Mapper\ObjectType(class="Model\Release"), nullable=true)
     */
    private $releases;
    
    ... getters and setters
}

$model = new Movie();
$data = [
    'name' => 'Taxi 2',
    'releases' => [
        [
            'country' => 'France',
            'date' => '2000-03-25'
        ],
    ]
];

$mapper->map($model, $data);

要求

  • PHP 7.4 或更高版本

安装

composer require troytft/mapper

文档

完整文档可在 docs/main.md 找到