Setting (encryption) for Laravel saving database
Encryption docs https://laravel.com/docs/encryption
Hash Salts Method
- Laravel 6+
- PHP +8.2
- via composer
composer require mlk9/setting-laravel
- vendor publish
php artisan vendor:publish --tag=setting-laravel
- migrate table
php artisan migrate
set data
Setting::set('KEY_NAME','VALUE');
//or
Setting::set([
'KEY_NAME' => 'VALUE',
'KEY_NAME' => 'VALUE'
]);
get data
Setting::get('KEY_NAME','DEFAULT_VALUE',$salts = []);
key exist
Setting::exists('KEY_NAME'); //output : bool
destroy data
Setting::destroy('KEY_NAME');
destroy all data
Setting::destroyAll();
get all data
Setting::all();
refresh salts
Setting::refreshSalts();
when you need change salts, you can use this method for replace old salts to new configure package
Setting::changeOldSalts(array $oldSalts);
replace all config data with setting data
//must be same key name
Setting::set(['app.name' => 'Maleki']);
//uses at \app\Providers\AppServiceProvider.php in boot
Setting::replaceAllConfigs();
replace custom config data with setting data
//in page save
Setting::set(['seo.site.name' => 'Maleki']);
//uses at \app\Providers\AppServiceProvider.php in boot
Setting::replaceConfigs(['app.name' => 'seo.site.name']);
//for test
config('app.name') // return : Maleki
app\Providers\AppServiceProvider.php
public function boot()
{
Config::set('services.example.exam1',Setting::get('example.exam'));
}