mlk9/setting-laravel

Setting (encryption) for Laravel

v3.0.3 2024-01-09 09:24 UTC

This package is auto-updated.

Last update: 2024-09-11 08:12:00 UTC


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'));
   }