soap / laravel-settings
Application settings storage and retrieval package
Requires
- php: ^8.1
- illuminate/contracts: ^9.0|^10.0
- spatie/laravel-package-tools: ^1.14.0
Requires (Dev)
- laravel/pint: ^1.0
- nunomaduro/collision: ^7.9
- nunomaduro/larastan: ^2.0.1
- orchestra/testbench: ^8.0
- phpstan/extension-installer: ^1.1
- phpstan/phpstan-deprecation-rules: ^1.0
- phpstan/phpstan-phpunit: ^1.0
- spatie/laravel-ray: ^1.26
This package is auto-updated.
Last update: 2024-10-09 03:59:46 UTC
README
This package lets you save and store application settings in database.
This package is 95% forked from qcod/laravel-settings. I made this one to acheive some goals that I cannot do with original package.
Installation
You can install the package via composer:
composer require soap/laravel-settings
You can publish the config file with:
php artisan vendor:publish --tag="settings-config"
This is the contents of the published config file:
return [ 'table' => 'settings', ];
You can change table name used to store application settings. Then you can publish and run the migrations with:
php artisan vendor:publish --tag="settings-migrations"
php artisan migrate
Usage
You can use helper function settings('app_name')
or Settings::get('app_name')
to use laravel settings. The later is via Facacde.
Available methods
// Pass `true` to ignore cached settings settings()->all($fresh = false); // Get a single setting settings()->get($key, $default = null); // Set a single setting settings()->set($key, $value); // Set a multiple settings settings()->set([ 'app_name' => 'Laravel', 'app_email' => 'info@email.com', 'app_type' => 'SaaS' ]); // check for setting key settings()->has($key); // remove a setting settings()->remove($key);
Testing
composer test
Changelog
Please see CHANGELOG for more information on what has changed recently.
Contributing
Please see CONTRIBUTING for details.
Security Vulnerabilities
Please review our security policy on how to report security vulnerabilities.
Credits
License
The MIT License (MIT). Please see License File for more information.