Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Enumeration Laravel Package

eloquent/enumeration

Eloquent Enumeration brings typed enum support to Laravel’s Eloquent models. Define reusable enums, cast attributes to enum instances, and keep status or type fields type-safe and expressive without leaving familiar Eloquent conventions.

Deep Wiki
Context7

Product Decisions This Supports

  • Modeling finite business states—order status, subscription lifecycle, payment state, roles, approval stages—as explicit domain values instead of magic strings or integers.
  • Standardizing enum semantics across a legacy Laravel/PHP codebase where teams currently use class constants, arrays, or database lookup tables inconsistently.
  • Build-vs-buy and dependency decisions: this package is archived, last released in 2018, and predates PHP 8.1 native enums, so it should inform replacement planning rather than new adoption.
  • Roadmap and technical-debt decisions: whether to contain existing usage, schedule migration to native PHP enums, or defer because the affected surface area is small.
  • Migration scoping: identifying where enum-like values are embedded in Eloquent models, validation rules, API contracts, and persistence layers before changing representations.
  • Risk decisions: avoiding new feature bets that depend on an unmaintained MIT package with no expected upstream fixes.

When to Consider This Package

  • Only for maintaining an existing Laravel/PHP application running below PHP 8.1 that already depends on this package or needs a small enum-like abstraction and cannot upgrade yet.
  • As a short-term compatibility layer while planning migration to native backed enums and Laravel casting.
  • When the team explicitly accepts archived-dependency risk and the usage is isolated, tested, and low-change.
  • Look elsewhere—or use PHP 8.1+ native enums—for greenfield work, active products, security-sensitive domains, or anything requiring maintained framework integration.
  • Avoid if stakeholders expect ongoing maintenance, security patching, modern Laravel enum casting, or long-term roadmap dependency.
  • If a maintained third-party enum library is required for legacy PHP, evaluate actively maintained alternatives rather than expanding use of this package.

How to Pitch It (Stakeholders)

Executives: This is a low-strategic-value, archived PHP enum package. It can help describe legacy domain states, but it should not anchor new roadmap investment. Treat it as technical debt to contain and migrate, not a platform to standardize on.

Engineering: Use it only as a legacy compatibility aid. Inventory existing usage, avoid expanding its surface area, and replace it with PHP 8.1+ native backed enums plus Eloquent casts where possible. Add characterization tests before migration so status values, persistence, and API contracts remain stable.

Product management: Do not fund new features that deepen dependency on this package. Fund a small, bounded migration if it already exists in critical flows; otherwise prefer native language features and active dependencies.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
elmogy/larafast
xeviant/laravel-paystack
gorilladash/laravel-website-sdk
martialbe/flysystem-oss
chondal/3312client
jeroen-g/flickr
opscale-co/nova-genbi
itsjustvita/laravel-retention
tequilarapido/trackit
gregsphotography/site-builder-filament
cabaoctavio/laravel-query-log
gregsphotography/site-builder-components
io-digital/clickatell
snowsoft/laravel-admin
oxygen/auth
relicsoftware/barakah-payment-gateway
tobya/work-with-composer
equipc/laravel-email-validator
equipc/laravel-email-database-log
adedsec/nova-translated-labels