unisharp/laravel-settings

Persistent settings manager for laravel, translations are supported.

Package info

github.com/UniSharp/laravel-settings

pkg:composer/unisharp/laravel-settings

Statistics

Installs: 172 731

Dependents: 3

Suggesters: 0

Stars: 107

Open Issues: 11

2.0.3 2018-01-29 09:02 UTC

Requires

Suggests

None

Provides

None

Conflicts

None

Replaces

None

MIT e5289be6411d00d9b09f349c469de5ca582e0de9

  • Unisharp Ltd. <service.woop@unisharp.com>

storagelaravelSettingspersistentkey-value

This package is auto-updated.

Last update: 2026-06-15 18:08:48 UTC


README

👁 Latest Version on Packagist
👁 Software License
👁 Build Status
👁 Coverage Status
👁 Quality Score
👁 Total Downloads

Persistent Settings Manager for Laravel

  • Simple key-value storage
  • Support multi-level array (dot delimited keys) structure.
  • Localization supported.

Installation

  1. Install package

    composer require unisharp/laravel-settings
  2. 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,
  3. 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);