gravatalonga/hydrator

从数组到对象或从对象到数组的Hydrator类

1.0.3 2021-04-26 18:51 UTC

This package is auto-updated.

Last update: 2024-09-08 01:00:03 UTC


README

Hydrator

Hydrator

Latest Version on Packagist Software License Build Status Coverage Status Quality Score Total Downloads

Hydrator 是一个库,可以帮助您从数组填充数据对象的属性。

结构

build/
src/
examples/
tests/
vendor/

安装

通过 Composer

$ composer require gravataLonga/hydrator

用法

$properties = ['id' => 1, 'string' => 'hello world']

class Entity implements HydrableInterface
{
    use HydrateTrait;
    
    public int $id;
    
    public string $string;
}

$e = Entity::hydrate($property);
echo $e->id; // 1
echo $e->string; // hello world

您甚至可以使用内部函数来正确格式化值,

$properties = ['name' => 'Jonathan']

class Entity implements HydrableInterface
{
    use HydrateTrait;
    
    public string $name;
    
    private function formatName($value)
    {
        return 'Hi, ' . $value;
    }
}

$e = Entity::hydrate($property);
echo $e->string; // Hi, Jonathan  

注意:如果属性设置为私有或受保护,则不会填充该字段,并且会抛出异常。

如果您不能或不希望使用特性,您还有另一种方法,即使用: Hydrator

$hydrator = new Hydrator(['id' => 1]);
$entity = $hydrator->hydrate(new Entity);

echo $entity->id; // 1

变更日志

请参阅 CHANGELOG 了解最近更改的更多信息。

测试

$ composer test

贡献

请参阅 CONTRIBUTINGCODE_OF_CONDUCT 了解详细信息。

安全性

如果您发现任何安全相关的问题,请通过电子邮件 jonathan.alexey16@gmail.com 联系,而不是使用问题跟踪器。

鸣谢

许可

MIT 许可证 (MIT)。请参阅 许可文件 了解更多信息。