opsbears/piccolo-datamapper

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

数据映射工具

dev-master 2016-09-08 22:25 UTC

This package is not auto-updated.

Last update: 2020-10-30 22:07:58 UTC


README

摘要

Piccolo 数据映射器将数组转换为对象,或使用设置器使现有对象重新活跃。它尽可能不使用反射,这需要您手动指定参数。

安装

可以使用composer安装此包

composer require opsbears/piccolo-datamapper

用法

数据映射器是一个(几乎)无反射的工具,用于创建和使对象活跃。它假设您的数据是一个键值数组,并希望从中创建或使对象活跃。为此,您需要指定数组参数应按何种顺序传递给构造函数或设置器。

class YourClass {
    public function __construct($foo) {
    }

    public function setBar($bar) {
    }
}

$dataMapper = new DataMapper(YourClass::class);
$dataMapper->addConstructorParameter('baz');
$dataMapper->addSetterParameter('bar');

$instance = $dataMapper->create(['baz' => 'Hello world!', 'bar' => 'Why not?']);

您还可以使现有对象活跃

$instance = new YourClass('Hello world!');
$instance = $dataMapper->hydrate($instance, ['bar' => 'Why not?']);