Settings for Laravel 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.
You can install the package via composer:
composer require centrex/laravel-settingsYou can publish the config file with:
php artisan vendor:publish --tag="settings-config"You can publish and run the migrations with:
php artisan migrateTo get and retrieve stored settings, you can do it easily with the Settings Facade or by using the settings() helper function:
// Set a setting
Settings::set('foo', 'bar');
settings()->set('foo', 'bar');
settings(['foo' => 'bar']);
// Get a setting
Settings::get('foo'); // 'bar'
settings()->get('foo');
settings('foo');
// Check existence
if (settings()->has('app.debug')) {
// ...
}
// Remove a setting
settings()->forget('old.setting');
// Refresh cache
settings()->refreshCache();// Check if setting exists (cached)
Setting::exists('app.timezone');
// Get autoloaded settings
Setting::autoload()->get();
// Get settings in a group
Setting::group('email')->get();
// Find settings with matching keys
Setting::keyLike('app.')->get();
// Remove a setting
Setting::remove('old.setting');// Get a setting with default value
$timezone = settings('app.timezone', 'UTC');
// Get using dedicated function
$debug = get_setting('app.debug', false);
// Set a setting
set_setting('app.maintenance_mode', true);
// Check existence
if (setting_exists('app.feature_flag')) {
// ...
}
// Remove a setting
remove_setting('old.setting');
// Access Settings instance directly
settings()->refreshCache();🧹 Keep a modern codebase with Pint:
composer lint✅ Run refactors using Rector
composer refacto⚗️ Run static analysis using PHPStan:
composer test:types✅ Run unit tests using PEST
composer test:unit🚀 Run the entire test suite:
composer testPlease see CHANGELOG for more information on what has changed recently.
Please see CONTRIBUTING for details.
The MIT License (MIT). Please see License File for more information.