noith/settings

Flexible settings for Laravel

Maintainers

Package info

gitlab.com/noith/settings

Issues

Type:package

pkg:composer/noith/settings

Statistics

Installs: 1

Dependents: 1

Suggesters: 0

Stars: 0

v1.0.0 2026-06-04 21:05 UTC

This package is auto-updated.

Last update: 2026-06-04 18:09:23 UTC


README

Flexible database-backed key/value settings for Laravel 10, 11, 12, and 13.

Installation

composer require noith/settings
php artisan vendor:publish --tag=settings-migrations
php artisan migrate

Usage

Helper

// Read
settings('site_name');                    // returns value or null
settings('site_name', 'Default');         // with default

// Repository instance
settings()->set('site_name', 'My App');
settings()->has('site_name');             // true
settings()->delete('site_name');
settings()->all();                        // Collection of all settings
settings()->refresh();                    // reload from DB

Facade

use Settings;

Settings::get('site_name', 'Default');
Settings::set('site_name', 'My App');
Settings::has('site_name');
Settings::delete('site_name');
Settings::all();
Settings::refresh();

Repository via DI

use Noith\Settings\Repositories\SettingsRepository;

class MyService
{
    public function __construct(private SettingsRepository $settings) {}

    public function handle(): void
    {
        $this->settings->set('key', 'value');
    }
}

Notes

  • All settings are loaded into memory once per request (or once per process lifetime with Octane). Call refresh() to reload from the database when needed.
  • Values are string|null only.
  • set() writes to the database atomically and updates the in-memory cache immediately.