A flexible and extensible settings management package for Laravel applications
stratos/laravel-settings is a Laravel package for a flexible and extensible settings management package for laravel applications.
It currently has 0 GitHub stars and 39 downloads on Packagist (latest version v1.0.0).
Install it with composer require stratos/laravel-settings.
Discover more Laravel packages by stratos
or browse all Laravel packages to compare alternatives.
Last updated
A flexible, enterprise-ready settings management package for Laravel applications. Manage global settings, user preferences, and dynamic configuration with powerful features including encryption, validation, audit trails, and granular permissions.
composer require stratos/laravel-settings
php artisan vendor:publish --tag="settings-migrations"
php artisan migrate
use Stratos\Settings\Facades\Settings;
// Set a value
Settings::set('site.name', 'My Application');
// Get a value
$name = Settings::get('site.name', 'Default Name');
// Use helper
$name = setting('site.name');
// Blade directive
<h1>@setting('site.name')</h1>
// Set user preference
Settings::user()->set('theme', 'dark');
// Get user preference
$theme = user_setting('theme', 'light');
// Blade
<body class="theme-@userSetting('theme')">
// Encrypted values
Settings::setEncrypted('api.stripe_key', 'sk_live_...');
// With validation
Settings::setWithMetadata(
key: 'max_users',
value: 100,
validationRules: ['integer', 'min:1', 'max:1000']
);
// With permissions
Settings::setPermissions(
key: 'api.credentials',
viewType: 'roles',
viewPermissions: ['admin', 'developer'],
editType: 'roles',
editPermissions: ['admin']
);
// View history
$history = Settings::getHistory('site.name');
// Rollback
Settings::restoreToVersion('site.name', $historyId);
# Create setting interactively
php artisan settings:create
# Set a setting
php artisan settings:set site.name "My App"
# Get a setting
php artisan settings:get site.name
# List all settings
php artisan settings:list
# Export/Import
php artisan settings:export settings.json
php artisan settings:import settings.json
For complete documentation, visit the docs folder:
Perfect for:
| Feature | Laravel Settings | Spatie Settings | Config Files | |---------|-----------------|-----------------|--------------| | Global Settings | β | β | β | | User Settings | β | β | β | | Encryption | β | β | β | | Validation | β | β | β | | Permissions | β | β | β | | Audit Trail | β | β | β | | Import/Export | β | β | β | | History/Rollback | β | β | β | | Caching | β | β | β | | Dynamic Updates | β | β | β |
# Run tests
vendor/bin/pest
# Run with coverage
vendor/bin/pest --coverage
See CHANGELOG.md for recent changes.
Contributions are welcome! Please see CONTRIBUTING.md for details.
If you discover any security-related issues, please email [email protected] instead of using the issue tracker.
Laravel Settings is open-sourced software licensed under the MIT license.
If you find this package useful, please consider: