一个非常简单的库,允许您在PHP中定义枚举

1.0.1 2022-01-27 20:32 UTC

This package is auto-updated.

Last update: 2024-08-28 01:55:42 UTC


README

一个非常简单的库,允许您在PHP中定义枚举

入门

安装

运行composer require emulgeator/enum将此库作为依赖项添加到您的项目中

使用方法

只需扩展类,定义可能的值,并创建自己的构造函数

use Emul\Enum\EnumAbstract;

class Status extends EnumAbstract
{
    const ENABLED  = 'enabled';
    const DISABLED = 'disabled';
    const DELETED  = 'deleted';

    public static function enabled(): self
    {
        return new self(self::ENABLED);
    }

    public static function disabled(): self
    {
        return new self(self::DISABLED);
    }

    public static function deleted(): self
    {
        return new self(self::DELETED);
    }

    protected static function getPossibleValues(): array
    {
        return [
            self::ENABLED,
            self::DISABLED,
            self::DELETED,
        ];
    }
}

$enabled  = Status::enabled();
$disabled = Status::disabled();
$deleted  = Status::createFromString('invalid'); // Throws exception

$enabled->isEqualToString('disabled'); // false
$enabled->isEqualTo($disabled); // false