yadddl/serializer

又一串行化库

v0.6.0 2022-02-09 11:50 UTC

This package is auto-updated.

Last update: 2024-09-09 17:22:50 UTC


README

由另一个领域驱动设计库(YADDDL)提供

这个库实现了一个串行化器,并遵循以下规则

  • 不要使用额外元数据:PHP 语言已经足够表达你需要的一切。

  • 约定优于配置:只需配置与标准用例不同的选项,这已经涵盖了大多数情况。

它与同一系列的 值对象 项目配合使用,但也可以单独使用。只需确保遵循 约定

它不涵盖所有可能用例,因此如果你需要,可以将其用于,或者如果你喜欢我们所做的工作并希望扩展它,可以做出贡献。

使用方法

composer require yadddl/serializer

入门

给定一个简单的 DTO

class SillyDTO {
    public function __construct(
        private string $propertyOne,
        private int $propertyTwo, 
        private string $hiddenProperty 
    ) {}
    
    public function getPropertyOne(): string 
    { 
        return $this->propertyOne; 
    }
    
    public function getPropertyTwo(): int 
    { 
        return $this->propertyTwo; 
    } 
}

串行化它的简单方法是这个

use Yadddl\Serializer\Factory\SerializerBaseFactory;

// Fastest way to create a basic serializer
$serializer = SerializerBaseFactory::make();

$dto = new SillyDTO('one', 2, 'hidden');

$data = $serializer->serialize($dto);


echo json_encode($data, JSON_PRETTY_PRINT);

生成的 JSON

{
    "propertyOne": "one",
    "propertyTwo": 2
}

文档