mlk9 / setting-laravel
Setting (encryption) for Laravel
v3.0.3
2024-01-09 09:24 UTC
Requires
- php: >=8.2
- illuminate/support: ~6|~7|~8|~9|~10
Requires (Dev)
- laravel/pint: ^1.13.6
- orchestra/testbench: ^8.18
- phpstan/phpstan: ^1.10.47
- phpunit/phpunit: ^10.5
- symfony/var-dumper: ^6.4.0|^7.0.1
README
Setting (encryption) for Laravel saving database
Encryption docs https://laravel.com/docs/encryption
Hash Salts Method
Requirement
- Laravel 6+
- PHP +8.2
Installation
- via composer
composer require mlk9/setting-laravel
- vendor publish
php artisan vendor:publish --tag=setting-laravel
- migrate table
php artisan migrate
Usage
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);
config using
Method 1 (recommended)
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();
Method 2 (customize)
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
Method 3 (not recommended)
app\Providers\AppServiceProvider.php
public function boot() { Config::set('services.example.exam1',Setting::get('example.exam')); }