unisharp / laravel-settings
Persistent settings manager for laravel, translations are supported.
Installs: 154 361
Dependents: 2
Suggesters: 0
Security: 0
Stars: 105
Watchers: 9
Forks: 26
Open Issues: 11
Requires
- php: >=5.5.0
- illuminate/cache: >=5.0.0
- illuminate/database: >=5.0.0
- illuminate/support: >=5.0.0
Requires (Dev)
- codedungeon/phpunit-result-printer: ^0.5.3
- mockery/mockery: ^0.9.9
- phpunit/php-code-coverage: ^5.2
- phpunit/phpunit: ^6.1
- squizlabs/php_codesniffer: ^3.2
This package is auto-updated.
Last update: 2024-10-15 14:32:35 UTC
README
Persistent Settings Manager for Laravel
- Simple key-value storage
- Support multi-level array (dot delimited keys) structure.
- Localization supported.
Installation
-
Install package
composer require unisharp/laravel-settings
-
Edit config/app.php (Skip this step if you are using laravel 5.5+)
service provider:
Unisharp\Setting\SettingServiceProvider::class,
class aliases:
'Setting' => Unisharp\Setting\SettingFacade::class,
-
Create settings table
php artisan vendor:publish --tag=settings php artisan migrate
Usage
Setting::get('name', 'Computer'); // get setting value with key 'name' // return 'Computer' if the key does not exists Setting::all(); // get all settings Setting::lang('zh-TW')->get('name', 'Computer'); // get setting value with key and language Setting::set('name', 'Computer'); // set setting value by key Setting::lang('zh-TW')->set('name', 'Computer'); // set setting value by key and language Setting::has('name'); // check the key exists, return boolean Setting::lang('zh-TW')->has('name'); // check the key exists by language, return boolean Setting::forget('name'); // delete the setting by key Setting::lang('zh-TW')->forget('name'); // delete the setting by key and language
Dealing with array
Setting::get('item'); // return null; Setting::set('item', ['USB' => '8G', 'RAM' => '4G']); Setting::get('item'); // return array( // 'USB' => '8G', // 'RAM' => '4G', // ); Setting::get('item.USB'); // return '8G';
Dealing with locale
By default language parameter are being resets every set or get calls. You could disable that and set your own long term language parameter forever using any route service provider or other method.
Setting::lang(App::getLocale())->langResetting(false);