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

Eloquent Settings Laravel Package

vluzrmos/eloquent-settings

Store application settings as key/value pairs through Eloquent models, with typed values, defaults, and per-model overrides. A simple database-backed alternative to config files for Laravel apps that need editable, runtime settings.

View on GitHub
Deep Wiki
Context7

Getting Started

  • Confirm your app is on Laravel 5.5 or newer before installing. v1.0.0 explicitly drops compatibility with earlier Laravel versions, so treat 5.5 as the hard floor.
  • Install with composer require vendor/package. On 5.5+ the package should be picked up by package auto-discovery; if it is not, register the service provider manually in config/app.php.
  • Look first at composer.json (PHP and illuminate/* constraints), the service provider, and any published config file. The release notes only confirm framework support, so the provider and README are the source of truth for actual behaviour.
  • First use case: publish any package assets with php artisan vendor:publish --provider="Vendor\Package\PackageServiceProvider", then run the smallest documented example from the README in a scratch route or Tinker session before wiring it into application code.

Implementation Patterns

  • Prefer constructor injection of the package's contract/class over facades or app() lookups. This keeps your code testable and makes future breaking changes easier to isolate.
  • Wrap package calls behind a thin application-level service or adapter. Given the v1.0.0 breaking change, an adapter boundary lets you absorb API shifts without touching call sites.
  • Publish the config file and override values through .env rather than editing vendor files. Keep environment-specific values in config, not in package internals.
  • If the package exposes events, macros, or custom binds, hook into those extension points from your own service provider instead of subclassing vendor classes.
  • In tests, use the package's fake/swap helpers if provided; otherwise mock the injected contract. Avoid hitting real external services in unit tests.
  • For queued jobs, verify whether the package holds request-scoped state. Resolve dependencies inside handle() rather than serialising package objects into job payloads.

Gotchas and Tips

  • The v1.0.0 breaking change is about supported Laravel versions. Pin both the package version and your laravel/framework constraint, and add 5.5 (plus your current version) to your CI matrix.
  • After any Composer change, run php artisan package:discover and clear caches (config:clear, cache:clear). Auto-discovery results are cached in bootstrap/cache/packages.php; a stale cache looks like a "provider not found" bug.
  • Config caching will fail or behave oddly if the package config uses closures or runtime env() calls outside the config file. Test with php artisan config:cache enabled.
  • If Composer refuses the install, use composer why-not vendor/package to find the conflicting constraint rather than forcing with --ignore-platform-reqs.
  • Treat a v1.0.0 with a declared breaking change as an unstable API surface. Lock the version in composer.json and read the changelog before every minor bump.
  • Debugging: inspect bootstrap/cache/packages.php to confirm discovery, use php artisan tinker to exercise the API directly, and check the provider's register()/boot() order if bindings are missing.
  • Extension points to check first: provider bindings, publishable config, events, and macros. These are usually safer than overriding vendor classes.
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.
se7enxweb/flysystem
lampwick/laravel
jeslage/statamic-emojis
micahdshackelford/rmap-laravel
draftsmaninc/draftsman
square-bit/laravel-volition
himito/laravel-mailman
htinlynn/genius-helper
maco-studios/hephaestus
elmogy/larafast
xeviant/laravel-paystack
gorilladash/laravel-website-sdk
martialbe/flysystem-oss
chondal/3312client
jeroen-g/flickr
opscale-co/nova-genbi
itsjustvita/laravel-retention
tequilarapido/trackit
gregsphotography/site-builder-filament
cabaoctavio/laravel-query-log