npabisz/laravel-settings
Store and manage Laravel application settings with a simple, persistent API. Define settings in code or the database, retrieve them anywhere via helpers or a facade, and rely on caching for fast access. Ideal for feature flags, site options, and admin-editable values that change without redeploying.
Setting model class means the settings model can be rebound to a domain-owned class. For a PM this is an argument that adopting the package does not lock the product into a vendor's data model, which makes it viable for teams planning (or already running) a modular monolith or DDD-style bounded contexts, and reduces the future cost of carving out a separate domain/service.Consider it when:
Look elsewhere when:
For executives: This is a small, low-risk dependency that removes a recurring engineering chore — building and maintaining an internal "change settings without a deploy" system. It shortens the path to admin-configurable features (plan limits, white-labeling, operational thresholds) that sales and support keep asking for, and it does so without committing us to a vendor's data model. The latest release makes the settings model replaceable, which protects us if we later reorganise the codebase or split out a service. Recommendation: adopt on the next suitable work item, treat as infrastructure, no dedicated roadmap slot required.
For engineering: Thin adoption surface — the package provides the settings store, retrieval API, casting, and caching; the application keeps ownership of the schema and the domain rules. The v1.2.0 configurable model class is the important detail: bind the Setting model to a domain-owned class so each bounded context can carry its own table, casts, and validation, keeping the settings concern out of the shared kernel. It is backward compatible, so the upgrade is a composer bump plus, optionally, a refactor to point at a domain model. Please add a smoke test covering the rebound model and the cache-invalidation path before rollout, and confirm our intended scoping strategy (global vs. tenant vs. user) in the ADR so the decision is explicit rather than inferred from defaults.
How can I help you explore Laravel packages today?