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

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

froler314/enum
==============

Enum lib

v4.2.3(2y ago)231.2k↑58.3%1MITPHPPHP &gt;=7.4CI failing

Since Sep 25Pushed 2y ago1 watchersCompare

[ Source](https://github.com/Froler314/Enum)[ Packagist](https://packagist.org/packages/froler314/enum)[ RSS](/packages/froler314-enum/feed)WikiDiscussions master Synced yesterday

READMEChangelogDependencies (2)Versions (19)Used By (0)

Enum
====

[](#enum)

Library for enumerate objects

Simple use
----------

[](#simple-use)

### Create enum class with constants:

[](#create-enum-class-with-constants)

```
class MyEnum extends Enum {
    const CONSTANT_A = 'value_a';
    const CONSTANT_B = 'value_b';
}
```

### Use it as object or as scalar:

[](#use-it-as-object-or-as-scalar)

```
$enumObject = MyEnum::getInstance(MyEnum::CONSTANT_A);
echo $enumObject->getValue(); // prints 'value_a'
echo $enumObject;             // also prints 'value_a'
```

### Validate enum by passing whole object instead of scalar:

[](#validate-enum-by-passing-whole-object-instead-of-scalar)

```
function someFunction(MyEnum $enumObject): void
{
    // ...
}

$enumObject = MyEnum::getInstance(MyEnum::CONSTANT_A);
someFunction($enumObject);
```

### Compare instances:

[](#compare-instances)

```
function compareFunction(MyEnum $firstEnumObject, MyEnum $secondEnumObject): bool
{
    return $firstEnumObject === $secondEnumObject       // both variants
        || $firstEnumObject->equals($secondEnumObject)  // are identical
}
```

Get enum instances via magic static call
----------------------------------------

[](#get-enum-instances-via-magic-static-call)

```
/**
 * @method static self valueA()
 * @method static self valueB()
 */
class MyEnum extends Enum {
    use MagicStaticCallEnum; // use MagicStaticCallEnum trait

    const CONSTANT_A = 'value_a';
    const CONSTANT_B = 'value_b';
}

$enumObject = MyEnum::valueA(); // instead of MyEnum::getInstance(MyEnum::CONSTANT_A)
```

###  Health Score

37

—

LowBetter than 81% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity31

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity72

Established project with proven stability

 Bus Factor1

Top contributor holds 93.3% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~170 days

Recently: every ~110 days

Total

17

Last Release

841d ago

Major Versions

v1.1.0 → v2.0.x-dev2018-08-15

v2.1.1 → v3.0.02021-02-26

v3.1.0 → v4.0.02021-09-20

PHP version history (3 changes)v2.0.0PHP ~7.1

v3.0.0PHP ~8.0

v4.1.0PHP &gt;=7.4

### Community

Maintainers

![](https://www.gravatar.com/avatar/4cc1a71a702162210bc229300800e5ae649f773254219f04ec95983ed9f77959?d=identicon)[Froler314](/maintainers/Froler314)

---

Top Contributors

[![Froler314](https://avatars.githubusercontent.com/u/1697931?v=4)](https://github.com/Froler314 "Froler314 (14 commits)")[![harmakit](https://avatars.githubusercontent.com/u/17195759?v=4)](https://github.com/harmakit "harmakit (1 commits)")

###  Code Quality

TestsPHPUnit

Code StylePHP CS Fixer

### Embed Badge

![Health badge](/badges/froler314-enum/health.svg)

```
[![Health](https://phpackages.com/badges/froler314-enum/health.svg)](https://phpackages.com/packages/froler314-enum)
```

###  Alternatives

[tharos/schematic

61142.4k4](/packages/tharos-schematic)[mad-web/laravel-robots

Robots.txt generator service.

33126.9k](/packages/mad-web-laravel-robots)[mateffy/laravel-codebase-mcp

An MCP server to give Cursor, Aider, etc. the ability to introspect your Laravel codebase directly, by querying for your models, views, routes and classes without raw file search.

221.6k](/packages/mateffy-laravel-codebase-mcp)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
