Easy Persistent Settings Management for Laravel

1.0.0 2020-06-28 08:02 UTC

This package is auto-updated.

Last update: 2024-04-29 04:46:35 UTC


README

Easy Persistent Settings Management for Laravel.

Installation

Settings is a Laravel package. You can install it via Composer. Run this command in your terminal from your project directory:

composer require laravel-backbone/settings

Now run this command in your terminal to publish this package resources:

php artisan vendor:publish --provider="LaravelBackbone\Settings\Providers\SettingsServiceProvider"

If you run vendor:publish then you have to add below code in your settings model

protected $table = 'lb_settings'; // you can change your database table name.
public $timestamps = false;

Use Traits

Use GetSettings traits in your settings model.

API List

all

For getting all settings value paired by key you can use all method.

YourSettingModel::all(); // return collection

set

For set value you can use set method.

YourSettingModel::set('key', 'value'); // return null

Multiple data store by key

YourSettingModel::set(['key1' => 'value', 'key2' => ['subkey2' => 'value-of-subkey2'] ]); // return null

get

For get value you can use get method.

YourSettingModel::get('key'); // return collection or string or null

Fallback Support:

YourSettingModel::get('key2.subkey2'); // return collection or string or null

You can also get all setting value

YourSettingModel::get(); // return collection

has

For checking key exists or not you can use has method.

YourSettingModel::has('key'); // return bool

Multiple key Forget:

YourSettingModel::has(['key1', 'key2']); // return collection

forget

For delete key you can use forget method.

YourSettingModel::forget('key'); // return integer 0 or 1

Multiple key Forget:

YourSettingModel::forget(['key1', 'key2']); // return integer - how many key successfully delete.

Helper

Get / set the specified setting value. If an array is passed as the key, we will assume you want to set an array of values.

$value = settings('app.timezone');
$value = settings('app.timezone', $default);

You may set settings variables by passing an array of key / value pairs:

settings(['app.debug' => true]);