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.
Architecture fit
Setting), a setting() helper, a publishable config file and a publishable migration. This is the lowest-friction integration pattern in the ecosystem — no bootstrapping, no container gymnastics, no build step.config() is deploy-time and immutable at runtime, so any setting an operator must change without a release (feature flags, mail throttles, branding, integration endpoints) needs a persistence layer. This package supplies that layer with grouping, typed values, config fallback and a cache wrapper rather than a bare key/value table.config/. Position it as the runtime-editable tier above static config; do not let it absorb credentials, since values land in a plain DB column.Integration feasibility
composer require, publish config and migration, run migration, optionally set table name via env. A competent Laravel engineer reaches a working read/write path in under a day.Technical risk
flush mechanism before committing."false" vs false, null vs absent, array merge vs replace on partial updates).Key questions
Stack fit
Migration path
settings table or a sprawl of .env overrides. Wrap the package behind an internal SettingsRepository interface in the app — the facade becomes an implementation detail, and swapping or forking later costs days instead of a rewrite.config/ defaults in a seeder so the fallback chain and the DB agree at cutover; a divergence here is the most likely source of post-deploy bugs.config/ values in place as the fallback tier; migrate only the keys that genuinely need runtime mutability.Compatibility
settings table name; the configurable table name is the escape hatch.Sequencing
Maintenance
Support
Scaling
Failure modes
Ramp-up
How can I help you explore Laravel packages today?