jpmanson/laravel-settings

为Laravel的持久化设置管理器,支持多语言。

1.0.3 2016-06-07 13:47 UTC

This package is not auto-updated.

Last update: 2024-09-14 19:20:04 UTC


README

  • 简单的键值存储
  • 支持多级数组(点分隔的键)结构。
  • 支持本地化。

安装

  1. 安装包

    	composer require jpmanson/laravel-settings
  2. 编辑 config/app.php 文件

    服务提供者

    	Unisharp\Setting\SettingServiceProvider::class,

    类别名

    	'Setting' => Unisharp\Setting\SettingFacade::class,
  3. 创建设置表

    	php artisan vendor:publish --tag=settings
    	php artisan migrate

用法

	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

处理数组

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