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

Configuration Bundle Laravel Package

sherlockode/configuration-bundle

A Symfony bundle for database-backed application configuration. Define typed settings, manage them through an admin-friendly interface, and retrieve values easily in services, controllers, and templates, with Doctrine persistence and caching support.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Build vs buy for settings infrastructure: This package argues for buying (adopting) a typed, database-backed configuration layer instead of hand-rolling one. It provides declarative schema in code, typed values (string, bool, int, array), defaults, Doctrine persistence, and a single injectable ConfigurationManager service. For a PM, that converts a recurring "we need admin-editable settings" ticket into a dependency decision rather than a custom build.
  • Roadmap: self-service administration. The strongest product unlock is letting non-technical users change site names, contact details, notification thresholds, and feature flags at runtime without a deploy. That shifts roadmap items from "engineering sprint" to "admin UI work" and shortens time-to-value for customer-facing config changes.
  • Roadmap: feature flagging and staged rollout. Typed boolean/array entries make a lightweight internal flag system feasible. This is a legitimate cost-avoidance decision versus a commercial flag platform, provided the team accepts the operational ownership (cache, invalidation, audit) described below.
  • Multi-tenant and per-customer variation. Database-backed values lend themselves to tenant-scoped settings, which is a product capability decision (sell configurable behavior) more than a technical one.
  • Important framing caveat for this specific package: sherlockode/configuration-bundle is a Symfony bundle, not a Laravel package. It assumes Symfony DI container wiring, Doctrine ORM, and Symfony 6.4/7.x on PHP 8.2–8.4. In a Laravel codebase the honest decision is "pattern-borrowing, not adoption." The PM-level choice therefore becomes: (a) adopt the concept and implement against Laravel config() + Eloquent, (b) use the bundle only if we actually run a Symfony service, or (c) reach for a Laravel-native equivalent instead. Do not let this be presented to stakeholders as a drop-in Laravel dependency — that framing will not survive engineering review.

When to Consider This Package

  • Adopt if: you operate a Symfony 6.4 LTS or 7.x application on PHP 8.2–8.4 with Doctrine ORM, and you need structured, typed, persistent configuration beyond static YAML/ENV files. Treat v0.8.0 as the viable floor — it is the release that explicitly pins this modern Symfony/PHP matrix.
  • Adopt if: the configuration domains are non-sensitive (site metadata, feature flags, notification settings) and read-mostly, and you are prepared to put an application-level cache in front of reads. Configuration access sits on the request path; without cache-aside with invalidation on admin write, every read is a DB round-trip and becomes the dominant scaling concern.
  • Look elsewhere if: you are on Laravel. The integration surface is Symfony-native; consuming it means either running it in a Symfony service behind an HTTP/queue boundary, reimplementing the pattern in Eloquent, or maintaining a hybrid app (reject this — dual frameworks multiply operational cost for no product gain). A Laravel-native settings package is the lower-risk path.
  • Look elsewhere if: you need a full-featured feature-flag platform (targeting rules, experiment analysis, SDKs across languages) — LaunchDarkly/Unleash territory — or you only need static configuration that ships with the code.
  • Look elsewhere if: you are on Symfony 5.4 or PHP ≤ 8.1. v0.8.0 narrows the supported platform matrix; those consumers are effectively on a frozen 0.7.x branch.
  • Risk criteria to weigh before committing: pre-1.0 versioning (0.x minor bumps may break), single-maintainer bus factor with the first external contribution arriving at 0.8.0, and no commercial support or LTS commitment. Do not place a tier-1 production dependency here without a named internal owner and a documented fork/vendor contingency.
  • Hard exclusion: secrets must not land in this config table. Exposure via admin UI and DB backups is a real risk; maintain an explicit allowlist of migratable domains.

How to Pitch It (Stakeholders)

  • Executives: This is a low-cost, MIT-licensed open-source component that removes the need to build and maintain custom configuration tooling, and it lets non-technical staff change settings at runtime without engineering deploys. The honest caveat: it is a Symfony bundle, so if our stack is Laravel, the value we capture is the pattern (typed, validated, DB-backed settings) rather than the package itself — the investment becomes a small internal build against our existing stack, not an install. Either way the payoff is engineering time redirected to core product work.
  • Engineering: If we are on Symfony 6.4/7.x with PHP 8.2–8.4 and Doctrine, integration is clean: declare typed configuration entries in code, persist values through Doctrine entities, and inject one ConfigurationManager service at call sites. v0.8.0 is a dependency-constraint-only release, confirming active maintenance and tightening the supported matrix for long-term stability — no runtime regressions this cycle. If we are on Laravel, the recommendation is to borrow the design (typed schema in code, separate schema from stored values, single accessor interface) and implement it against Eloquent, keeping the abstraction boundary thin enough to swap later. In both cases we must design for caching on the read path, validation and audit/rollback on admin writes, graceful degradation when the database is unavailable, and a pinned lockfile with a CI resolution check to absorb future constraint-only releases.
  • Recommended next step: resolve the stack question first — it gates everything. Then a timeboxed spike in a throwaway skeleton (half a day for a Symfony team; significantly more for a Laravel team), piloting one non-sensitive config domain behind a read-through cache before any broader commitment.
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