jpmanson / laravel-settings by jpmanson
forked from UniSharp/laravel-settings

Persistent settings manager for laravel, translations are supported.
13
2
2
Package Data
Maintainer Username: jpmanson
Maintainer Contact: service@unisharp.com (Unisharp Ltd.)
Package Create Date: 2016-05-30
Package Last Update: 2016-06-07
Home Page:
Language: PHP
License: MIT
Last Refreshed: 2021-07-28 03:15:56
Package Statistics
Total Downloads: 13
Monthly Downloads: 0
Daily Downloads: 0
Total Stars: 2
Total Watchers: 2
Total Forks: 0
Total Open Issues: 0

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 jpmanson/laravel-settings
    
  2. edit config/app.php

    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::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
	
	Setting::get('name', 'Computer', true);
	// get setting value with key 'name'
	// return 'Computer' if the key does not exists and save the key in database
	// third parameter = true force to save the key with the provided default value if not exists

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';