efriandika / laravel-settings by efriandika

Laravel 5 Persistent Settings
39,180
54
3
Package Data
Maintainer Username: efriandika
Maintainer Contact: efriandika@gmail.com (Efriandika Pratama)
Package Create Date: 2015-04-12
Package Last Update: 2020-06-06
Home Page: https://efriandika.github.io/laravel-settings
Language: PHP
License: MIT
Last Refreshed: 2024-10-27 15:23:53
Package Statistics
Total Downloads: 39,180
Monthly Downloads: 37
Daily Downloads: 0
Total Stars: 54
Total Watchers: 3
Total Forks: 29
Total Open Issues: 9

Latest Stable Version Total Downloads Latest Unstable Version License

Laravel-Settings

Laravel 5.1.x Persistent Settings (Database + Cache)

Attention: for update to v1.2.0

Re-Publish new migration file

$ php artisan vendor:publish --provider="Efriandika\LaravelSettings\SettingsServiceProvider" --force

And run

$ php artisan migrate

How to Install

Require this package with composer (Packagist) using the following command:

composer require efriandika/laravel-settings

or modify your composer.json:

   "require": {
      "efriandika/laravel-settings": "1.*"
   }
   

then run composer update:

After updating composer, Register the ServiceProvider to the providers array in config/app.php

'Efriandika\LaravelSettings\SettingsServiceProvider',

Add an alias for the facade to aliases array in your config/app.php

'Settings'  => Efriandika\LaravelSettings\Facades\Settings::class,

Publish the config and migration files now (Attention: This command will not work if you don't follow previous instruction):

$ php artisan vendor:publish --provider="Efriandika\LaravelSettings\SettingsServiceProvider" --force

Change config/settings.php according to your needs. If you change db_table, don't forget to change the table's name in the migration file as well.

Create the settings table.

$ php artisan migrate

How to Use it?

Set a value

Settings::set('key', 'value');

Get a value

$value = Settings::get('key');

Get a value with Default Value.

$value = Settings::get('key', 'Default Value');

Note: If key is not found (null) in cache or settings table, it will return default value

Get a value via an helper

$value = settings('key');
$value = settings('key', 'default value');

Forget a value

Settings::forget('key');

Forget all values

Settings::flush();

Fallback to Laravel Config (available in v1.2.0)

How to activate?

// Change your config/settings.php
'fallback'   => true

Example

/* 
 * If the value with key => mail.host is not found in cache or DB of Larave Settings
 * it will return same value as config::get('mail.host');
 */     
Settings::get('mail.host');

Note: It will work if default value in laravel setting is not set

Changelogs

v1.2.0 - Dec 16th, 2015

  • Bugs fix
  • Adding Feature: Fallback Value

To Do

License

The Laravel 5 Persistent Settings is open-sourced software licensed under the MIT license