marc-mabe/php-enum
Native PHP enum implementation via an abstract base class. Extend it to define enumerations from public constants (supports scalars, null, and arrays), create and compare enum instances, and keep a strict set of named values for safer domain modeling.
|
Package
|
Score
|
Description
|
Stars
|
Likes
|
Forks
|
Downloads
|
Issues
|
Score
|
Opportunity
|
License
|
Last Release
|
|
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| marc-mabe/php-enum-phpstan | 0.89 | PHPStan extension for marc-mabe/php-enum. Teaches PHPStan about enum accessor methods and allowed values so static analysis understands your enumerations and catches invalid usage. Install with Composer and include the provided extension.neon. | 12 | 12 | 6 | 9K | 0 | 2.6 | 39.4 | BSD-3-Clause | 1 year ago | |
| archtechx/enums | 0.88 | Modern PHP enum helpers: casting, validation, labels, and convenience methods for native enums. Add common patterns like options arrays, random values, and comparisons to make enums easier to use across Laravel apps and APIs. | 566 | 568 | 23 | 597K | 2 | 7.0 | 42.0 | MIT | 1 year ago | |
| bensampo/laravel-enum | 0.86 | Laravel Enum provides a powerful enum implementation for Laravel with class-constant definitions, instantiation, casting, validation, localization, bitwise/flag enums, and an artisan generator. Not recommended for new projects—use native PHP 8.1 enums. | 2,030 | 2,043 | 157 | 330K | 1 | 15.0 | 30.6 | MIT | — | |
| daverandom/enum | 0.86 | Lightweight PHP enum base class: extend a single abstract class and define members as constants. Includes static helpers to validate and resolve enum names and values. Useful for simple, shared enum functionality. | 0 | 0 | 0 | 23 | 0 | 0.3 | 6.6 | MIT | 8 years ago | |
| konekt/enum | 0.86 | Lightweight PHP enum base class (pre-PHP 8.1) for defining value-safe constants via abstract Enum subclasses. Simple instantiation, validation and utilities, with docs and optional Laravel Eloquent integration via konekt/enum-eloquent. | 21 | 21 | 2 | 74K | 0 | 0.2 | 48.7 | MIT | — | |
| paillechat/php-enum | 0.85 | PHP 7+ enum library: define enums by extending Enum and declaring constants, then instantiate via static named calls (IssueType::ONE()). Instances are strict-equal singletons, work with in_array/type hints, and can convert to/from names. | 16 | 17 | 3 | 508 | 0 | 2.0 | 20.6 | MIT | 7 years ago | |
| spatie/enum | 0.85 | Obsolete: PHP 8.1+ has native enums (recommended). Spatie Enum provides strongly typed, object-based enums for older PHP versions, enabling IDE-friendly static analysis and refactoring. Define enums via @method annotations and call StatusEnum::draft(). | 850 | 853 | 67 | 1M | 0 | 15.5 | 43.2 | MIT | 4 years ago | |
| prinsfrank/enums | 0.84 | — | 2 | 2 | 1 | 51K | 0 | 1.8 | 55.3 | MIT | 1 year ago | |
| spatie/laravel-enum | 0.82 | Laravel integration for spatie/enum: use Enum base class in Laravel, cast model attributes to enums (including nullable and arrays), and get Laravel-friendly behavior via custom casts and Castable support for Eloquent. | 366 | 369 | 36 | 147K | 0 | 11.3 | 36.0 | MIT | 1 year ago | |
| myclabs/php-enum | 0.81 | myclabs/php-enum brings SplEnum-style enums to PHP. Define enum classes, get autogenerated static constructors, validate values, compare instances, list possible values, and use enums as parameter/return types with extra methods—without a PHP extension. | 2,727 | 2,760 | 128 | 3M | 12 | 30.2 | 45.8 | MIT | 1 year ago |
How can I help you explore Laravel packages today?