qlimix/serializable

表示对象可序列化的接口

2.0.0 2020-04-19 12:45 UTC

This package is auto-updated.

Last update: 2024-09-19 22:42:24 UTC


README

Travis CI Packagist MIT License

表示对象可序列化的接口。

安装

使用 Composer

$ composer require qlimix/serializable

使用方法

<?php

use Qlimix\Serializable\SerializableInterface;

final class FooBar implements SerializableInterface
{
    /** @var string */
    private $foo;
    
    /** @var int */
    private $bar;
    
    public function __construct(string $foo, int $bar)
    {
        $this->foo = $foo;
        $this->bar = $bar;
    }
    
    public function getName(): string
    {
        return 'foo.bar';
    }
    
    public function serialize(): array
    {
        return [
            'foo' => $this->foo,
            'bar' => $this->bar,
        ];
    }

    public static function deserialize(array $data): SerializableInterface
    {
        return new self($data['foo'], $data['bar']);
    }
}

如果您要序列化的内容不跨越应用程序边界,可以使用 GetClassNameTrait 来引用对象类名。

测试

使用 PHPUnit 在本地运行所有单元测试

$ vendor/bin/phpunit

质量

为确保代码质量,运行 grumphp 以运行所有工具

$ vendor/bin/grumphp run

贡献

请参阅 CONTRIBUTING 以获取详细信息。