Skip to content

Laravel Scoped Settings

Laravel Scoped Settings is a powerful and flexible package for managing configuration and preferences at both the global level and the model (user, team, etc.) level. It provides a clean API for setting, getting, and organizing data using scopes and logical groups.


✨ Key Features

  • ✅ Store settings globally or per Eloquent model
  • ✅ Simple fluent API using setting() helper or Setting:: facade
  • ✅ Support for nested grouping using dot notation (e.g. notifications.email)
  • ✅ Automatic casting of scalars and arrays (JSON handling)
  • ✅ Artisan commands to list, clear and export settings
  • ✅ Built-in support for versioned documentation via mike

🧠 When to use this package

Use Laravel Scoped Settings when you need to:

  • Store application-wide configurations editable at runtime
  • Allow user-specific preferences, like UI themes or notification settings
  • Enable team or organization scoped settings
  • Group settings logically and retrieve them with minimal code
  • Handle per-user fallback to global defaults with manual logic

⚙️ Example use cases

  • UI preferences (light/dark mode, layout)
  • Notification toggles (email, push)
  • Feature flags per customer or team
  • Custom limits, regional/localization settings
  • Multi-tenant configurations

📦 Requirements

  • PHP >= 8.1
  • Laravel 10 or 11
  • Composer, Git, and optionally GitHub Pages for docs

📚 Next Steps


This package is maintained by Daniele Montecchi and released under the MIT License.