fomvasss / laravel-variables
Dynamic management of variables/configs in Laravel app
Installs: 1 188
Dependents: 0
Suggesters: 0
Security: 0
Stars: 3
Watchers: 2
Forks: 0
Open Issues: 0
Type:composer-package
Requires
- php: ^7.4|^8.0
- illuminate/cache: ^8.0|^9.0|^10.0|^11.0
- illuminate/database: ^8.0|^9.0|^10.0|^11.0
- illuminate/support: ^8.0|^9.0|^10.0|^11.0
This package is auto-updated.
Last update: 2024-10-26 19:38:02 UTC
README
Dynamic management of variables/configs in Laravel app: creating and updating they in database, using cache and artisan commands, replace default Laravel configs, etc.
Installation
Run:
composer require fomvasss/laravel-variables
Publish the config, migration:
php artisan vendor:publish --provider="Fomvasss\Variable\VariableServiceProvider"
Run migrate:
php artisan migrate
Usage
Facade Variable
<?php Variable::all(); Variable::get('var_key'); Variable::save('app_name', 'My Var');
Use groupped (multilanguages) variables:
<?php Variable::setGroup('en')->all(); // return Collection! Variable::setGroup('uk')->get('var_key'); Variable::get('var_key', null, 'en'); Variable::get('en|var_key'); Variable::save('uk|var_key', 'UK var');
Use array (json) variables:
Variable::saveArray('links', ['https::google.com', 'https://laravel.com']); // save PHP array Variable::getArray('links'); // return default PHP array!
Use cache variables:
Variable::setGroup('uk')->save('app_name', 'Blog'); Variable::setGroup('uk')->useCache(false)->get('app_name'); //or Variable::get('var_key', null, 'uk', false);
Helpers
variable($name, $default = null, $group = null);
Replace Laravel configs with variables
Set in config/variables.php
option config_key_for_vars=vars
Add keys in variable_config
array: variable_key => config_key
Console command
variable:all # Show all variables variable:get # Get single variable variable:save # Save single variable variable:cache-clear # Cache clear all variables
Use cache
Set in config/variables.php
option cache.time
seconds for cache.
Clear variable cache with console:
php artisan variable:cache-clear
or
php artisan cache:forget laravel.variables.cache
Clear variable cache in controller after update var:
Variable::cacheClear(); //or \Cache::forget('laravel.variables.cache');