PHPackages                             jiannei/laravel-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. jiannei/laravel-enum

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

jiannei/laravel-enum
====================

A simple and easy-to-use enumeration extension package to help you manage enumerations in your project more conveniently, supporting Laravel and Lumen

v4.0.3(6mo ago)3933.4k↓43.1%6[1 issues](https://github.com/jiannei/laravel-enum/issues)[1 PRs](https://github.com/jiannei/laravel-enum/pulls)5MITPHPCI failing

Since Nov 30Pushed 1mo ago1 watchersCompare

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

READMEChangelog (10)Dependencies (4)Versions (21)Used By (5)

 laravel-enum
==============

[](#-laravel-enum-)

> A simple and easy-to-use enumeration extension package to help you manage enumerations in your project more conveniently, supporting Laravel and Lumen.
>
> - 一个简单好用的枚举扩展包，帮助你更方便地管理项目中的枚举，支持 Laravel 和 Lumen。

[![Tests](https://github.com/jiannei/laravel-enum/actions/workflows/test.yml/badge.svg?branch=main)](https://github.com/jiannei/laravel-enum/actions/workflows/test.yml)[![Coverage](https://github.com/jiannei/laravel-enum/actions/workflows/coverage.yml/badge.svg?branch=main)](https://github.com/jiannei/laravel-enum/actions/workflows/coverage.yml)[![Laravel Pint](https://camo.githubusercontent.com/795da18d725cf3bacaa62c16f2174eee0414c2abb7b095b7c08f02f6327cc8af/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c61726176656c25323050696e742d456e61626c65642d627269676874677265656e3f7374796c653d666c6174266c6f676f3d6c61726176656c)](https://laravel.com/docs/pint)[![Pest](https://camo.githubusercontent.com/2b3a3be28becffdc93c229db5a2908e645d7766c2c82ea18330191e46c7a3752/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f506573742d456e61626c65642d627269676874677265656e3f7374796c653d666c6174266c6f676f3d706870)](https://pestphp.com)[![Larastan](https://camo.githubusercontent.com/9b901b34110da95ccd781c5a8002553156f77be52af6bc7b7e1605b56dbcc72e/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c6172617374616e2d4c6576656c253230392d627269676874677265656e3f7374796c653d666c6174266c6f676f3d706870)](https://github.com/larastan/larastan)[![Latest Stable Version](https://camo.githubusercontent.com/97b15ea332ce0ace1b1cb2c7b8ec54c05d2c9f26fc362550e34ca39711ecba03/68747470733a2f2f706f7365722e707567782e6f72672f6a69616e6e65692f6c61726176656c2d656e756d2f76)](https://packagist.org/packages/jiannei/laravel-enum)[![Total Downloads](https://camo.githubusercontent.com/b0235ba3dd2a0b41e2ad66ca7910b9f7885302883398a7155bb05b91b1eb9b87/68747470733a2f2f706f7365722e707567782e6f72672f6a69616e6e65692f6c61726176656c2d656e756d2f646f776e6c6f616473)](https://packagist.org/packages/jiannei/laravel-enum)[![Monthly Downloads](https://camo.githubusercontent.com/3b58a53dc0c6156083caa648f22f43d7a70406496551a6d6181c7ddf63716f74/68747470733a2f2f706f7365722e707567782e6f72672f6a69616e6e65692f6c61726176656c2d656e756d2f642f6d6f6e74686c79)](https://packagist.org/packages/jiannei/laravel-enum)[![License](https://camo.githubusercontent.com/a94105bd94bdb6abdca801ed1be7cde0be97ffdc9fc435cd37b0bc555f71ac1a/68747470733a2f2f706f7365722e707567782e6f72672f6a69616e6e65692f6c61726176656c2d656e756d2f6c6963656e7365)](https://packagist.org/packages/jiannei/laravel-enum)

中文文档 | [English](README_EN.md)

介绍
--

[](#介绍)

`laravel-enum` 主要用来扩展项目中的枚举使用，通过合理的定义枚举可以使代码更加规范，更易阅读和维护。

php8.1 版本后内置枚举支持，更多信息可以查看：

参与社区讨论：- [教你更优雅地写 API 之「枚举使用」](https://learnku.com/articles/53015)

概览
--

[](#概览)

- 🌍 **多语言支持**：扩展原生的 BackedEnum，支持多语言描述
- 🔧 **实例化方法**：提供多种实用的方式来实例化枚举（fromValue、fromName、guess、random）
- 📊 **数据获取**：便捷获取枚举 name、value、names、values、count 等信息
- 🔍 **比较方法**：提供便捷的比较方法 `is`、`isNot`、`isAny`，用于枚举实例之间的对比
- 🧭 **导航功能**：支持枚举位置检查（isFirst、isLast）和导航（next、previous）
- 📋 **数组转换**：支持转换为数组格式，适用于 API 响应和表单选项
- ⚠️ **错误处理**：提供详细的错误信息，包含有效值提示

安装
--

[](#安装)

支持 Laravel 10 以上版本：

```
$ composer require jiannei/laravel-enum -vvv
```

使用
--

[](#使用)

更为具体的使用可以查看测试用例：

### 常规使用

[](#常规使用)

- 定义

```
