Store Laravel application settings in the database.

Fund package maintenance!

v2.1.0 2022-11-01 14:14 UTC


Latest Version on Packagist Tests Total Downloads PHP from Packagist License

Laravel Settings allows you to store your application settings in the database. It works alongside of the built-in configuration system that Laravel offers. With this package, you can store application specific settings that wouldn't make sense to store in a configuration file, or that you want end-users to be able to update through your application's UI.

The package also offers caching on a per-setting basis out of the box, so no unnecessary extra queries are performed once a setting has been retrieved. The caching works no matter which driver you choose to use. The package can also encrypt your settings automatically for you as well if you need to store sensitive data such as passwords for a third-party service you need to be able to use later.

To get and retrieve stored settings, you can do it easily with the Settings Facade or by using the settings() helper function:

// Setting
Settings::set('foo', 'bar');
settings()->set('foo', 'bar');
settings(['foo' => 'bar']);

// Retrieving
Settings::get('foo'); // 'bar'


For documentation, please visit: https://randallwilk.dev/docs/laravel-settings


You can install the package via composer:

composer require rawilk/laravel-settings

You can publish and run the migrations with:

php artisan vendor:publish --tag="settings-migrations"
php artisan migrate

You can publish the config file with:

php artisan vendor:publish --tag="settings-config"

You can view the default configuration here: https://github.com/rawilk/laravel-settings/blob/main/config/breadcrumbs.php


composer test


Please see CHANGELOG for more information on what has changed recently.


Please see CONTRIBUTING for details.


If you discover any security related issues, please email randall@randallwilk.dev instead of using the issue tracker.



The MIT License (MIT). Please see License File for more information.