PHPackages                             hyperf-ext/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. hyperf-ext/enum

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

hyperf-ext/enum
===============

Simple, extensible and powerful enumeration implementation for Hyperf.

v2.2.0(4y ago)45.4k↓100%MITPHPPHP &gt;=7.3

Since Sep 15Pushed 4y ago1 watchersCompare

[ Source](https://github.com/hyperf-ext/enum)[ Packagist](https://packagist.org/packages/hyperf-ext/enum)[ RSS](/packages/hyperf-ext-enum/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (4)Dependencies (13)Versions (5)Used By (0)

Hyperf 枚举组件
===========

[](#hyperf-枚举组件)

关于
--

[](#关于)

简单、可扩展且强大的枚举实现。

- 枚举键值对即类常量
- 功能完备的方法集
- 枚举实例化
- 位标志/位移枚举
- 类型提示
- 属性转换
- 枚举命令生成器
- 用于将枚举键或值作为输入参数传递的验证规则
- 本地化支持
- 可通过宏扩展

> 移植自 [`bensampo/laravel-enum`](https://github.com/BenSampo/laravel-enum) 。

索引
--

[](#索引)

- [安装](#%E5%AE%89%E8%A3%85)
- [基本使用](#%E5%9F%BA%E6%9C%AC%E4%BD%BF%E7%94%A8)
    - [枚举定义](#%E6%9E%9A%E4%B8%BE%E5%AE%9A%E4%B9%89)
    - [实例化](#%E5%AE%9E%E4%BE%8B%E5%8C%96)
    - [实例属性](#%E5%AE%9E%E4%BE%8B%E5%B1%9E%E6%80%A7)
    - [实例类型转换](#%E5%AE%9E%E4%BE%8B%E7%B1%BB%E5%9E%8B%E8%BD%AC%E6%8D%A2)
    - [实例相等性比较](#%E5%AE%9E%E4%BE%8B%E7%9B%B8%E7%AD%89%E6%80%A7%E6%AF%94%E8%BE%83)
    - [类型提示](#%E7%B1%BB%E5%9E%8B%E6%8F%90%E7%A4%BA)
- [位标志/位移枚举](#%E4%BD%8D%E6%A0%87%E5%BF%97%E4%BD%8D%E7%A7%BB%E6%9E%9A%E4%B8%BE)
- [属性转换](#%E5%B1%9E%E6%80%A7%E8%BD%AC%E6%8D%A2)
- [数据库迁移](#%E6%95%B0%E6%8D%AE%E5%BA%93%E8%BF%81%E7%A7%BB)
- [验证器](#%E9%AA%8C%E8%AF%81%E5%99%A8)
- [本地化](#%E6%9C%AC%E5%9C%B0%E5%8C%96)
- [重写 getDescription 方法](#%E9%87%8D%E5%86%99-getdescription-%E6%96%B9%E6%B3%95)
- [扩展枚举基类](#%E6%89%A9%E5%B1%95%E6%9E%9A%E4%B8%BE%E5%9F%BA%E7%B1%BB)
- [PHPStan 集成](#phpstan-%E9%9B%86%E6%88%90)
- [命令列表](#%E5%91%BD%E4%BB%A4%E5%88%97%E8%A1%A8)
- [Enum 类参考](#enum-%E7%B1%BB%E5%8F%82%E8%80%83)

安装
--

[](#安装)

```
composer require hyperf-ext/enum
```

基本用法
----

[](#基本用法)

### 枚举定义

[](#枚举定义)

可以使用一些命令来生成新的枚举类：

```
php bin/hyperf.php gen:enum UserType
```

现在只需将所有可能值作为常量添加到枚举类即可。

```
