miladrahimi/php-enum

PHP 抽象枚举类

v1.3 2021-08-04 09:34 UTC

This package is auto-updated.

Last update: 2024-09-10 11:24:35 UTC


README

Latest Stable Version Total Downloads Build Status Coverage Status License

PHP-Enum

为了让你的枚举类型更加生动,只需让它们继承 Enum 抽象类即可!

安装

安装 Composer 并在项目的根目录中运行以下命令

composer require miladrahimi/php-enum "1.*"

文档

考虑这个枚举类

namespace MiladRahimi\Enum\Enum;

class SampleEnum extends Enum
{
    const UNO = 1;
    const ONE = 1;
    const TWO = 2;
    const STR = "sth";
}

现在你可以使用这些方法了

SampleEnum::all(); // ['UNO' => 1, 'ONE' => 1, 'TWO' => 2, 'STR' => 'sth']

SampleEnum::keys(); // ['UNO', 'ONE', 'TWO', 'STR'];

SampleEnum::values(); // [1, 1, 2, 'sth']

SampleEnum::hasKey('ONE'); // true

SampleEnum::hasKey('xXx'); // false

SampleEnum::hasValue(2); // true

SampleEnum::hasValue('xXx'); // false

SampleEnum::valueOf('ONE'); // 1

SampleEnum::keysOf(1); // ['UNO', 'ONE']

SampleEnum::keyOf(1); // 'UNO'

SampleEnum::randomKey(); // One of 'UNO', 'ONE', 'TWO', 'STR'

SampleEnum::randomKeyExceptKeys(['ONE', 'TWO']); // One of 'UNO', 'STR'

SampleEnum::randomKeyExceptValues([SampleEnum::STR, SampleEnum::TWO]); // One of 'ONE', 'UNO'

SampleEnum::randomValue(); // One of 1, 2, 'sth'

SampleEnum::randomValueExceptValues([SampleEnum::STR, SampleEnum::TWO]); // One of SampleEnum::ONE, SampleEnum::UNO

SampleEnum::randomValueExceptKeys(['STR', 'TWO']); // One of SampleEnum::ONE, SampleEnum::UNO

许可证

PHP-Enum 由 Milad Rahimi 创作并发布,遵循 MIT 许可证