sbooker / litgroup-enumerable-normalizer

LitGroup Enumerable normalizer

2.1.0 2024-01-13 14:09 UTC

This package is auto-updated.

Last update: 2024-09-13 16:04:13 UTC


README

Latest Version Software License PHP Version Total Downloads

该 sbooker/litgroup-enumerable-normalizer 包提供了使用 litgroup/enumerableSymfony serializer 进行标准化/非标准化的功能。

安装

推荐通过 PackagistComposer 安装。运行以下命令以安装包并将其添加到项目中的 composer.json

composer require sbooker/litgroup-enumerable-normalizer

示例

// Declare Enum 

use LitGroup\Enumerable\Enumerable;

final class ColorEnum extends Enumerable
{
    /**
     * @return self
     */
    public static function red()
    {
        return self::createEnum('red');
    }

    /**
     * @return self
     */
    public static function green()
    {
        return self::createEnum('green');
    }

    /**
     * @return self
     */
    public static function blue()
    {
        return self::createEnum('blue');
    }
}

// Configure Symfony serializer
$serializer = new Symfony\Component\Serializer\Serializer([
    new \Sbooker\LitGroupEnumerable\Normalizer\EnumerableNormalizer(),
]);

// Normalize enum
$normalized = $serializer->normalize(ColorEnum::red()); // $normalized === 'red'

许可证

查看 LICENSE 文件。