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

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.
tequilarapido/trackit
gregsphotography/site-builder-filament
cabaoctavio/laravel-query-log
gregsphotography/site-builder-components
io-digital/clickatell
snowsoft/laravel-admin
oxygen/auth
relicsoftware/barakah-payment-gateway
tobya/work-with-composer
equipc/laravel-email-validator
equipc/laravel-email-database-log
adedsec/nova-translated-labels
wazza/laravel-db-encryption
hokny/laravel-generator
vonsogt/backup
jengo/queues
jeremykenedy/laravel-observability
coleus/frame
thtg88/journalism
filagora/filagora-ai-forums