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

Laravel Setting Laravel Package

janiskelemen/laravel-setting

Laravel Setting gives your Laravel app a database-backed key-value store for configuration values. Read, write, and organize settings through a simple, expressive API, with support for typed values and caching so frequently used settings stay fast.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Build vs. buy for a config layer. Every app eventually grows an ad-hoc settings table, a cache wrapper, and a getSetting() helper. This package is a candidate to replace that boilerplate, so the decision is "spend a sprint building and maintaining our own vs. adopt a small MIT dependency" — a real trade of engineering time against maintenance risk.
  • Roadmap sequencing of an admin settings surface. If non-engineers (ops, support, marketing) need to change values without a deploy — branding, notification copy, pagination sizes, retry/timeout thresholds, integration endpoints — that unlocks an admin-console roadmap item much earlier than a build-it-yourself approach.
  • Which knobs are safe to expose. Typed values (booleans, numbers, arrays/JSON) let you decide deliberately which settings are operator-editable and which stay in .env/config. This is a product-risk decision, not just a technical one: anything runtime-editable becomes a support and QA surface.
  • Deploy cadence and release process. Runtime-editable settings reduce "config change" releases to zero-deploy operations, which shortens feedback loops for operational tweaks and lowers the cost of small, config-driven product experiments.
  • Lightweight feature toggles. For simple on/off or threshold-based rollouts (enable a section for everyone, raise a limit), this can serve as a stopgap before investing in a real flagging system — a useful "do we need to buy a flag platform yet?" decision point.
  • Multi-tenancy scoping. Most settings packages of this size are global, not per-tenant. The PM decision is whether the near-term product needs tenant- or user-scoped settings; if yes, budget custom work on top or look elsewhere.
  • Auditability and compliance posture. Expect to own change history, who-changed-what, and validation yourself. That has to be scoped as product work if settings touch pricing, permissions, or regulated behavior.
  • Exit-cost budgeting. With ~51 stars and a single maintainer, adoption is a bet on a thin utility, not a platform. The decision it enables is "adopt cheaply, wrap it, and keep the swap cost to a day."

When to Consider This Package

Consider it when:

  • You're on Laravel (verify the supported Laravel/PHP version matrix against your stack) and need globally scoped, database-backed settings that admins or ops can edit at runtime.
  • You want typed values and cache-backed reads with a helper/facade accessor, and you'd otherwise be writing that boilerplate yourself.
  • The dependency surface matters: MIT license, small footprint, no external service, no vendor contract.
  • You're greenfield or replacing a homegrown settings table, and settings are non-critical (UI copy, limits, defaults, integration endpoints).
  • Your team is willing to own the hardening layer — validation, audit logging, cache invalidation verification, and default/fallback behavior.

Look elsewhere when:

  • You need feature flags with targeting, segmentation, or experiments — use Laravel Pennant, Unleash, Flagsmith, or LaunchDarkly. A settings table is not a flagging system, and treating it as one creates cleanup debt.
  • You need secrets management (API keys, credentials). Runtime DB settings plus app-level caching is not a secrets store; use a vault or a managed secrets service, or confirm the package encrypts values at rest before storing anything sensitive.
  • You need multi-tenant or per-user scoping, or settings history / rollback / approval workflows out of the box — those are build-on-top items here.
  • You require vendor support, an SLA, or a large community for a long-lived platform bet. spatie/laravel-settings (strongly typed settings classes, far larger community) is the safer default; Laravel's own config + env is correct when settings are static.
  • Settings are high-write or read on every request in a hot path — validate the caching model and invalidation behavior before committing.
  • Maintenance signals are weak. At ~51 stars, run the checklist: release cadence (last release 2026-01-12), open-issue responsiveness, test coverage, open security advisories, and whether the maintainer is a single point of failure.

If you adopt: pin the version, put it behind your own SettingsRepository interface rather than calling the package directly throughout the codebase, and write a one-day swap plan. That converts a maintenance-risk question into a reversible decision.

How to Pitch It (Stakeholders)

To executives (the business case): This is a small, free, MIT-licensed utility that lets operations and support change non-code settings — copy, limits, thresholds, integration endpoints — without an engineering deploy. The upside is shorter release cycles and fewer "can someone change this one value" interruptions. The cost is effectively a spike plus integration time, not a platform commitment. The risk is support: it's a niche package with a single maintainer, so we will wrap it behind our own interface and keep the replacement cost to roughly a day. Recommendation: timebox a short spike, then decide build vs. buy with real data rather than debate.

To engineering (the implementation case): It gives us typed, cache-backed settings with a familiar helper/facade accessor and removes the usual bespoke settings table, cache wrapper, and casting code. To de-risk it we will: verify Laravel/PHP compatibility and cache-invalidation behavior in a half-day spike; isolate access behind a SettingsRepository interface so a swap to spatie/laravel-settings or an in-house implementation is a contained change; add our own validation, defaults, and audit logging on writes; and keep secrets out of it entirely. We are explicitly not using it as a feature-flag system — if we need targeting or experiments, that's a separate decision.

The ask: Approve a half-day to one-day spike covering version compatibility, cache invalidation, typed casting, and write validation. Output is a build-vs-buy recommendation with a named owner, a documented exit path, and a decision on whether tenant scoping or audit history must ship in the same release.

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.
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
kda/filament-dynamic-navigation
bypersoft/signbox