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

Configurable Laravel Package

jwderoos/configurable

A Laravel package that adds configurable options to Eloquent models. Define options and values, then build variants with their own attributes and relations—ideal for configurable products, plans, or any model needing selectable configurations. Ships with traits, migrations, and relationships.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Build vs. buy for runtime configuration. The 1.3.0 addition of PHP attributes (Feature/6 introduce attributes) shifts the calculus: configuration can now be declared declaratively on classes/models instead of hand-wiring service provider bindings or maintaining a bespoke settings layer. That lowers the "build" cost estimate and raises the "buy" (adopt) case — but only where the abstraction matches our domain model.
  • Feature prioritization for settings-driven work. If the roadmap contains multi-tenant settings, per-model configurables, admin-editable values, or environment-scoped overrides, this package is a candidate to underpin those features rather than each team reinventing a resolution layer.
  • Platform baseline decision. Attribute-based APIs imply a PHP 8.0+ (likely 8.1+) floor. This release is a forcing function to confirm our supported PHP/Laravel matrix before we let any team standardize on it.
  • Dependency portfolio and exit-cost planning. Single-maintainer package, infrequent releases, and a version jump from v1.1.1 straight to 1.3.0 in the compare link (no 1.2.x release surfaced) are all signals to adopt behind an internal interface so replacement stays cheap.
  • Upgrade decision for existing adopters (if any). Attribute support appears additive and minor-version scoped, so no migration work is expected. Safe to bump inside a normal maintenance window with the version pinned and the test suite green.

When to Consider This Package

Consider it when:

  • You want declarative, attribute-driven configuration and your team is already fluent in PHP 8 attributes (the same idiom as Laravel Pennant, observers, and validation rules).
  • The alternative is writing your own settings table plus a resolution/caching layer — meaningful effort for an undifferentiated capability.
  • Blast radius is contained: internal tools, admin panels, or settings that change rarely and tolerate cache-based resolution.
  • You can accept a small, single-maintainer dependency with a narrow surface area and wrap it behind your own contract.

Look elsewhere when:

  • You need vendor SLAs, security-response commitments, or multi-maintainer bus-factor guarantees — this package does not evidence those.
  • You need audit trails, approval workflows, per-key encryption, or a settings admin UI out of the box; evaluate spatie/laravel-settings for typed settings with migrations, or Laravel Pennant if the need is really feature flags.
  • The requirement is static, deploy-time configuration — Laravel's native config/ plus env vars is the correct answer and adding a dependency is pure overhead.
  • You are on PHP < 8.0, or your platform policy mandates packages aligned to a Laravel LTS support window.
  • High-frequency writes with strict cache-invalidation guarantees are involved; verify the package's caching semantics under load before committing.

Diligence items before adoption: confirm the exact PHP/Laravel constraints in composer.json, read the attribute implementation for backward compatibility with any existing config registration, and check the changelog gap between v1.1.1 and 1.3.0 (whether v1.2.x shipped and was superseded). Any breaking change hiding in that gap would invalidate the "safe minor bump" assumption.

How to Pitch It (Stakeholders)

For executives: We are evaluating a small, low-cost Laravel package that lets engineers declare application settings directly in code rather than building and maintaining a custom configuration system. The 1.3.0 release modernizes it with PHP attributes, cutting boilerplate and aligning it with current framework conventions. Cost of trial is a day or two of engineering time; cost of the alternative is a bespoke settings layer we would own forever. The main risk is concentration — it has a single maintainer — which we mitigate by keeping it behind an internal interface so it can be swapped without touching product code. Recommendation: approve a timeboxed spike, not a platform-wide mandate.

For engineering: Attributes remove the registration ceremony — configurables are declared where they are used, which is easier to read, review, and delete. The API is additive in a minor release, so no migration is expected; pin the version and validate against the test suite. Treat the package as infrastructure, not architecture: import only through our own adapter so the dependency stays replaceable. Before we standardize, one owner should confirm PHP/Laravel version constraints, review the attribute implementation for edge cases with inheritance and model hydration, and verify cache-invalidation behavior under realistic write patterns. If those check out, this is a straightforward win on developer ergonomics.

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.
skyraptor/chatter
edlugz/sasapay
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