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

Easy Admin Enum Field Bundle Laravel Package

tourze/easy-admin-enum-field-bundle

Adds PHP enum support to EasyAdmin, automatically rendering backed enums as select fields, filters, and display values in CRUD forms so enum-backed entities need little to no manual configuration.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Admin CRUD velocity. A drop-in field type that renders PHP 8.1+ backed enums as labeled selects, radios, or filters removes a recurring slice of boilerplate from every admin screen that exposes a status, type, or category column. The decision this informs is "do we build our own enum field component or consume one?"
  • Build vs. buy on admin plumbing. For teams running an easy-admin-style generated admin layer, this is a commodity component. The realistic comparison is ~1–3 days of internal engineering plus ongoing maintenance versus adopting a dependency. This package is only worth adopting if it is the only thing you take from that ecosystem.
  • Roadmap: enum-first domain modeling. If the roadmap includes migrating string status columns to native PHP enums, the admin layer is usually the last blocker — form rendering, filters, and validation all need to understand enum cases. A field bundle like this de-risks that migration and shortens the timeline.
  • Standardizing admin UX across teams. A shared enum field enforces consistent label casing, null/placeholder handling, and validation messaging across otherwise divergent admin screens — a small but real win for products with multiple internal tools.
  • Not a decision driver: this package should not influence architecture, data modeling, or framework-version choices. It is a leaf dependency with a narrow surface.

When to Consider This Package

Consider it when:

  • Your admin layer is already built on the same easy-admin/Tourze family of packages. Mixing an ecosystem's field bundle with a different admin framework is where most integration cost lands.
  • You have a meaningful number of enum-backed fields (roughly 10+) where hand-rolling a field type stops paying for itself.
  • You are on PHP 8.1+ and have adopted native enums, or plan to within the same release cycle.
  • You need labeled/translatable enum options and would otherwise scatter label maps across controllers and Blade templates.

Look elsewhere when:

  • You are on a mainstream Laravel admin stack (Filament, Nova, Backpack, Orchid). Each ships first-class enum support; adding a third-party field bundle on top is redundant and creates upgrade friction.
  • The package is your only reason to pull in the parent admin framework — the dependency cost dwarfs the benefit.
  • You require published documentation, a support contract, or a security-response process. The 1.0.0 changelog is a bare link to the commit list, which is a documentation-maturity signal worth weighing.
  • The -bundle suffix and namespace suggest Symfony lineage. Confirm the Laravel service provider, config publishing, and asset registration actually work as advertised in your Laravel version before committing — this is the single highest-risk unknown.

Adoption criteria I'd set before greenlighting: a spike proving it installs and renders in a scratch app on your exact Laravel/PHP versions, a check on the license and dependency tree (transitive Symfony packages are common in this family), and a documented fallback if the package is abandoned — which, for a field type, is a one-file replacement.

How to Pitch It (Stakeholders)

For executives: This is a small, low-risk component that saves admin-panel development time on a narrow but repetitive task — turning enum values into usable form fields. It is not strategic, it is not a platform decision, and it can be swapped out for roughly a day of engineering if needed. The 1.0.0 tag signals the author is committing to a stable API, which is the main thing that changed with this release. Recommendation: approve only as part of an existing easy-admin footprint; do not introduce the parent framework to get it.

For engineering: Treat 1.0.0 as an API-stability checkpoint, not a feature release — the notes are a changelog link only, so there is nothing to review for breaking changes or additions. Prior to 1.0.0 you should assume the public surface may have shifted; pin the version and read the field class signatures directly rather than relying on docs. Before adopting, verify the Laravel integration path (service provider, config, view/asset registration) given the package's Symfony-style naming, and confirm the transitive dependency footprint. Budget half a day for the spike and a half day for the integration; if it exceeds that, hand-roll the field — the implementation is small enough that the build is genuinely competitive here.

One-line summary: Adopt only if you're already in this ecosystem; otherwise borrow the pattern, not the dependency.

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.
abbasudo/artisan-route
mirvan/ippanel
ignibyte/aic-framework
glavweb/data-schema-bundle
glavweb/datagrid-bundle
tacticmedia/scim-server
uni-method/frame
neika-ai/sdk
adachsoft/php-code-style
pharaonic/laravel-notification-dependencies
beautinow/translug
dev-brainiac/bot-cloaked
octoberrain/html
octoberrain/extension
octoberrain/exception
octoberrain/contracts
adachsoft/api-version-bundle
cgv/localized-resource
noith/settings
kda/laravel-package