jerodev/data-mapper

将原始数据映射到类型化的PHP对象

1.2.1 2024-01-07 11:54 UTC

This package is auto-updated.

Last update: 2024-09-15 21:46:12 UTC


README

run-tests Latest Stable Version

本包可以将任何原始数据映射到预定义的强类型PHP对象。

安装

除了PHP8.1或更高版本外,映射器没有外部依赖。可以使用composer进行安装

composer require jerodev/data-mapper

基本映射

让我们从基础知识开始。映射器将数据直接映射到对象上的公共属性。如果这些属性已经通过在PHP7.4中引入的类型或通过 PHPDoc 定义了类型,映射器将尝试将这些数据类型转换为这些类型。

例如:想象有一个具有公共属性 $id$nameEntity

class User
{
    public int $id;
    public string $name;
}

要从数组映射数据,我们只需将类名和一个包含数据的数组传递给映射器。

$mapper = new \Jerodev\DataMapper\Mapper();
$entity = $mapper->map(User::class, [
    'id' => '5',
    'name' => 'John Doe',
]);

//    User {
//        +id: 5,
//        +name: "John Doe",
//    }

这是一个简单的例子,但映射器还可以映射嵌套对象、对象数组、键值数组,甚至是多层数组。

文档

有关映射、配置和最佳实践的更多信息,请参阅 文档

许可证

本库采用MIT许可证(MIT)。有关更多信息,请参阅 许可证文件