PHPackages                             elnooronline/laravel-settings - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Database &amp; ORM](/categories/database)
4. /
5. elnooronline/laravel-settings

AbandonedArchivedPackage[Database &amp; ORM](/categories/database)

elnooronline/laravel-settings
=============================

Persistent key-value storage for Laravel

v6.0.3(7y ago)21.7k21MITPHP

Since Mar 18Pushed 7y agoCompare

[ Source](https://github.com/Elnooronline/laravel-settings)[ Packagist](https://packagist.org/packages/elnooronline/laravel-settings)[ RSS](/packages/elnooronline-laravel-settings/feed)WikiDiscussions master Synced 2w ago

READMEChangelog (10)Dependencies (4)Versions (29)Used By (1)

[![Latest Version on Packagist](https://camo.githubusercontent.com/dad7499fc386fbba7ebdc737d1302ebc221a8123b577a95dbd57f1136d3202a6/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f656c6e6f6f726f6e6c696e652f6c61726176656c2d73657474696e67732e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/unisharp/categorizable)[![Total Downloads](https://camo.githubusercontent.com/ab1bc27a61b60fff232e5fc2ce7394a69b0b1924170c12382dd02bf3febe3024/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f656c6e6f6f726f6e6c696e652f6c61726176656c2d73657474696e67732e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/UniSharp/categorizable)

Persistent Settings Manager for Laravel
=======================================

[](#persistent-settings-manager-for-laravel)

- Simple key-value storage
- Support multi-level array (dot delimited keys) structure.
- Localization supported.
- Localization using [dimsav/laravel-translatable](https://github.com/dimsav/laravel-translatable)

Installation
------------

[](#installation)

1. Install package

    ```
    composer require elnooronline/laravel-settings
    ```
2. Edit config/app.php (Skip this step if you are using laravel 5.5+)

    service provider:

    ```
    Elnooronline\LaravelSettings\Providers\ServiceProvider::class,
    ```

    class aliases:

    ```
    'Setting' => Elnooronline\LaravelSettings\Facades\Setting::class,
    ```
3. Create settings table

    ```
    php artisan vendor:publish --provider="Elnooronline\LaravelSettings\Providers\ServiceProvider"
    php artisan migrate
    ```

Usage
-----

[](#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('en')->get('name', 'Computer');
// get setting value with key and language

Setting::get('name:en', 'Computer');
// get setting value with key and language

Setting::set('name', 'Computer');
// set setting value by key

Setting::lang('en')->set('name', 'Computer');
// set setting value by key and language

Setting::set('name:en', 'Computer');
// set setting value by key and language

Setting::has('name');
// check the key exists, return boolean

Setting::lang('en')->has('name');
// check the key exists by language, return boolean

Setting::has('name:en');
// check the key exists by language, return boolean

Setting::forget('name');
// delete the setting by key

Setting::lang('en')->forget('name');
// delete the setting by key and language

Setting::forget('name:en');
// delete the setting by key and language
```

Dealing with array
------------------

[](#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';
```

Conditions
----------

[](#conditions)

> in your `AppServiceProvider` you can register new prefix method.

```
public function boot()
{
	Setting::registerPrefixMethod('country');
	...
}
```

> or you can register prefix methods from config file by adding your prefix to `prefix_methods` array

```
