tantana5 / laravel-settings
为 Laravel 的持久化设置管理器,支持翻译。
v1.0.6
2018-10-23 09:08 UTC
Requires
- php: >=5.6.4
- laravel/framework: >=5.4.0
Requires (Dev)
- mockery/mockery: 0.9.*
- phpunit/phpunit: ~5.7
- squizlabs/php_codesniffer: ^3.3
This package is not auto-updated.
Last update: 2024-09-29 05:49:22 UTC
README
Laravel 持久化设置管理器
- 简单的键值存储
- 支持多级数组(点分隔键)结构。
- 支持本地化。
安装
-
安装包
composer require tantana5/laravel-settings
-
编辑 config/app.php(如果您使用 Laravel 5.5+,则跳过此步骤)
服务提供者
Tantana5\Setting\SettingServiceProvider::class,
类别名
'Setting' => Tantana5\Setting\SettingFacade::class,
-
创建设置表
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', 'collection'); // set setting value by key and collection name Setting::collection('collection'); // get all settings by collection 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);