Download the PHP package oriceon/laravel-settings without Composer
On this page you can find all versions of the php package oriceon/laravel-settings. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download oriceon/laravel-settings
More information about oriceon/laravel-settings
Files in oriceon/laravel-settings
Informations about the package laravel-settings
Laravel-Settings
Laravel 5.4.x persistent settings using JSON cache file
Install process
-
Require this package with composer :
composer require oriceon/laravel-settings
-
Register the ServiceProvider to the
providers
array inconfig/app.php
Oriceon\Settings\SettingsServiceProvider::class,
-
Add an alias for the facade to
aliases
array in yourconfig/app.php
'Settings' => Oriceon\Settings\Facades\Settings::class,
-
Publish the config and migration files now:
php artisan vendor:publish --provider="Oriceon\Settings\SettingsServiceProvider" --force
Change config/settings.php
according to your needs.
Create the settings
table.
php artisan migrate
How to Use it?
Set a value
Settings::set('key', 'value');
Settings::set('key1.key2', 'value');
Get a value
$value = Settings::get('key');
$value = Settings::get('key1.key2');
Get a value with Default Value.
$value = Settings::get('key', 'Default Value');
Get all settings
$values = Settings::getAll();
Note: default, all settings are loaded from cache. If you want to load them from database with this method just call with a parameter:
$values = Settings::getAll($cache = false);
Note: If key is not found (null) in cache or settings table, it will return default value
Has a key
$value = Settings::has('key');
$value = Settings::has('key1.key2');
Forget a value
Settings::forget('key');
Settings::forget('key1.key2');
Clean and update settings from config file
Settings::clean();
Settings::clean(['flush' => true]);
Note: using flush parameter, will forget all values and reload settings from config file
Forget all values
Settings::flush();
Fallback to Laravel config
// Change your config/settings.php
'fallback' => true
Example
/*
* If the value with key => mail.host is not found in cache or DB of Larave Settings
* it will return same value as config::get('mail.host');
*/
Settings::get('mail.host');
Primary config file
// Change your config/settings.php
'primary_config_file' => 'filename'
Note: If you want to have a site config file with all your default settings, create a file in config/ with desired name and create your config file as you want. After that, you may no longer need to enter the file name in setting calls.
Instead Settings::get('filename.setting_key') you will just call for Settings::get('setting_key')
Note: It will work if default value in laravel setting is not set
Get a value via an helper
$value = settings('key');
$value = settings('key', 'default value');
Credits to main author
Fwork package : ABENEVAUT/laravel-settings
Original package : efriandika/laravel-settings