unisharp/laravel-settings

Laravel 的持久化设置管理器,支持翻译。

2.0.3 2018-01-29 09:02 UTC

This package is auto-updated.

Last update: 2024-09-15 14:22:28 UTC


README

Latest Version on Packagist Software License Build Status Coverage Status Quality Score Total Downloads

Laravel 的持久化设置管理器

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

安装

  1. 安装包

    composer require unisharp/laravel-settings
  2. 编辑 config/app.php (如果你使用 laravel 5.5+,则跳过此步骤)

    服务提供者

    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::all();
// get all settings

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

处理地区

默认情况下,语言参数在每次设置或获取调用时都会被重置。您可以禁用此功能,并使用任何路由服务提供者或其他方法来永久设置自己的长期语言参数。

Setting::lang(App::getLocale())->langResetting(false);