cehmke/php-enum

此包已被弃用且不再维护。未建议替代包。

简单的枚举接口,允许静态比较和实例交互

dev-master 2020-06-10 08:35 UTC

This package is auto-updated.

Last update: 2021-04-10 10:30:53 UTC


README

提供简单的接口以在PHP中创建枚举,允许静态比较和实例交互。

安装

composer require cehmke/php-enum

使用

创建一个新的类扩展cehmke/enum并声明一些常量。就这样。

<?php

use Cehmke/Enum;

class Colour extends Enum
{
    public const RED = 'red';
    public const BLUE = 'blue;
    public const GREEN = 'green';
}

底层枚举类使用反射来拉取声明的常量并在更传统的枚举上下文中使用它们。因此,您可以轻松地创建枚举的新实例,如下所示

$colour = new Colour(Colour::RED);

这将创建一个包含红色值的枚举新实例。

静态函数

contains : 返回枚举是否包含给定元素。
Colour::contains('red') > true
Colour::contains('orange') > false

elements : 返回枚举可用的元素数组。
Colour::elements() > ['red', 'blue', 'green']

实例函数

然后您可以创建枚举的实例,如下所示: $colour = new Colour(Colour::RED)
注意:实例必须用有效的值初始化

get : 返回实例的值。
$colour->get() > 'red'

set : 在实例上设置新值。
$colour->set(Colour::BLUE) > $colour现在是'blue'

is : 在实例上执行真值比较。
$colour->is('blue') > true
$colour->is('orange') > false

in : 返回实例值是否在数组中找到。
$colour->in(['red', 'green']) > false