PHPackages                             lip/php-enum - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. lip/php-enum

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

lip/php-enum
============

PHP 枚举基类，使用类 const 作为枚举值，每一项均含有 key、value 与 label。

v3.6.9(1y ago)065MITPHPPHP &gt;=7.4

Since Sep 3Pushed 1y ago1 watchersCompare

[ Source](https://github.com/lip8up/php-enum)[ Packagist](https://packagist.org/packages/lip/php-enum)[ Docs](https://github.com/lip8up/php-enum)[ RSS](/packages/lip-php-enum/feed)WikiDiscussions main Synced 3w ago

READMEChangelog (10)Dependencies (1)Versions (18)Used By (0)

php-enum
========

[](#php-enum)

PHP 枚举基类，使用`类常量`作为枚举值，每一项均含有 `key`、`value` 与 `label`。

安装
--

[](#安装)

```
composer require lip/php-enum
```

概念
--

[](#概念)

一个枚举，通常包含：`key`、`value`，如 `typescript` 中的下列枚举：

```
enum Direction {
  Up = 1,
  Down = 2,
  Left = 3,
  Right = 4
}
```

其中 `Up`、`Down`、`Left`、`Right` 为 `key`，`1`、`2`、`3`、`4` 为 `value`。

一些常见的情形，还需要一个文字描述，特别是中文环境，将上面代码改造一下：

```
enum Direction {
  Up = [1, '上'],
  Down = [2, '下'],
  Left = [3, '左'],
  Right = [4, '右']
}
```

本库将这种文字描述，定义为枚举的 `label`，即上面的`上`、`下`、`左`、`右`。

由于 PHP 本身不支持枚举，这里撰写一个类 `lip\enum\Enum`，继承该类，定义类常量，作为枚举值。

使用
--

[](#使用)

### 标准用法（推荐）

[](#标准用法推荐)

每一个类常量均为一个`数组`，其中，第一项为 `value`，第二项为 `label`，顺序不能变。

下例中，One、Two、Three 为 `key`，1、2、3 是 `value`，一、二、三是 `label`。

```
