PHPackages                             davidianbonner/enumerated - 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. davidianbonner/enumerated

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

davidianbonner/enumerated
=========================

Enums represent a set of predefined values. Useful for ensuring data consistency.

v8.0.1(1mo ago)153.4k↑264.3%22MITPHPPHP ^8.1CI failing

Since Oct 26Pushed 1mo ago1 watchersCompare

[ Source](https://github.com/davidianbonner/enumerated)[ Packagist](https://packagist.org/packages/davidianbonner/enumerated)[ Docs](https://github.com/davidianbonner/enumerated)[ RSS](/packages/davidianbonner-enumerated/feed)WikiDiscussions master Synced yesterday

READMEChangelog (10)Dependencies (10)Versions (21)Used By (2)

Enumerated
==========

[](#enumerated)

[![Author](https://camo.githubusercontent.com/a66b2beba8568bac7ad0eb84ae6b620fe7447c711f02ef0a440f76800df58c75/687474703a2f2f696d672e736869656c64732e696f2f62616467652f617574686f722d4064626f6e6e6572313938372d626c75652e7376673f7374796c653d666c61742d737175617265)](https://twitter.com/dbonner1987)[![Build Status](https://camo.githubusercontent.com/339173b71761abc67a640e800f7221cc1fef3ecbf151ebe713ef65d7ca7e4526/68747470733a2f2f696d672e736869656c64732e696f2f7472617669732f646176696469616e626f6e6e65722f656e756d6572617465642f6d61737465722e7376673f7374796c653d666c61742d737175617265)](https://travis-ci.org/davidianbonner/enumerated)[![Quality Score](https://camo.githubusercontent.com/758537af72a93ce7631139c3824a68e9d17b4671b0b48a8500a62bacc9930dd1/68747470733a2f2f696d672e736869656c64732e696f2f7363727574696e697a65722f672f646176696469616e626f6e6e65722f656e756d6572617465642e7376673f7374796c653d666c61742d737175617265)](https://scrutinizer-ci.com/g/davidianbonner/enumerated)[![Software License](https://camo.githubusercontent.com/55c0218c8f8009f06ad4ddae837ddd05301481fcf0dff8e0ed9dadda8780713e/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d4d49542d627269676874677265656e2e7376673f7374796c653d666c61742d737175617265)](LICENSE)[![Packagist Version](https://camo.githubusercontent.com/9b52f1532162c6f614f075130f3da725c83ca307049c89eae33139db05f8991c/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f646176696469616e626f6e6e65722f656e756d6572617465642e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/davidianbonner/enumerated)[![Coverage Status](https://camo.githubusercontent.com/f3586f0db5815be05782a5575f643a2ab772b1d37a4dcf0ceb58f2dbb2323789/68747470733a2f2f696d672e736869656c64732e696f2f7363727574696e697a65722f636f7665726167652f672f646176696469616e626f6e6e65722f656e756d6572617465642e7376673f7374796c653d666c61742d737175617265)](https://scrutinizer-ci.com/g/davidianbonner/enumerated/code-structure)

An enumerated type (Enum) is a data type that consists of a set of predefined values. This can be useful for ensuring data consistency. The Enumerated package provides a simple base class for creating enumerated types allowing the devloper to define values statically.

Install
-------

[](#install)

Via Composer

```
$ composer require davidianbonner/enumerated
```

Usage
-----

[](#usage)

Most applications require some form of an enumerated type. PHP does not have native Enum support (yet: ). To get past this, we tend to pack groups of predefined values into config or settings files as arrays. This doesn't represent the data or it's type in a straightforward manner.

### Before

[](#before)

```
