hankz / laravel-system-settings
一个为在数据库中管理系统配置值而设计的 Laravel 包。
v1.0.0
2024-01-11 17:50 UTC
Requires
- php: >=7.3
- laravel/framework: >=7.0
This package is auto-updated.
Last update: 2024-09-15 17:44:19 UTC
README
英文文档 | 繁体中文文件
Laravel 系统设置
一个为在数据库中管理系统配置值而设计的 Laravel 包。
安装
1. Composer 安装
从终端运行 Composer require 命令
composer require hankz/laravel-system-settings
2. 设置
此包支持 Laravel 的自动发现功能,安装后即可使用。
3. 发布配置文件
您需要发布配置文件。
php artisan vendor:publish --provider="Hankz\LaravelSystemSettings\SystemSettingProvider"
4. 配置
您可以在 config\system-settings.php
中配置此包。
<?php return [ /** * use table name. */ 'table_name' => 'system_settings', /** * default value. */ 'default' => [ 'group' => 'default', ], ];
- table_name - 在数据库中保存系统设置表名。
- default.group - 当您缺少 group 参数时的默认组名。
5. 迁移
您还应该运行迁移命令。
php artisan migrate
用法
此包非常简单,并提供以下方法供您使用。
new(string $key, string $value, string $group = null, string $description = null): bool
创建新的系统设置。
参数
$key
(string): 系统设置的唯一标识符。$value
(string): 与系统设置关联的值。$group
(string|null): (可选) 系统设置所属的组。默认为null
。$description
(string|null): (可选) 提供关于系统设置的附加信息的描述。默认为null
。
示例
SystemSettingManager::new('keyName', 'value', 'groupName', 'description');
返回值
bool
: 如果系统设置成功创建,则返回true
,如果设置已存在,则抛出SystemSettingAlreadyExistsException
。
has(string $key, string $group = null): bool
has()
方法检查是否存在具有给定键和可选组的系统设置。
参数
$key
(string): 系统设置的唯一标识符。$group
(string|null): (可选) 系统设置所属的组。默认为null
。
示例
SystemSettingManager::has('keyName', 'groupName');
返回值
bool
: 如果系统设置存在,则返回true
,否则返回false
。
all(): array
以键值对格式返回所有系统设置。
示例
SystemSettingManager::all();
返回值
array
: 包含所有系统设置的关联数组,格式为['key' => 'value']
。
get(string $key, string $group = null, string $default = null): null|string
get()
方法允许您使用键名和组名检索值,并且它还接受默认值。
参数
$key
(string): 系统设置的唯一标识符。$group
(string|null): (可选) 系统设置所属的组。默认为null
。$default
(string|null): (可选) 如果找不到系统设置,则返回的默认值。默认为null
。
示例
SystemSettingManager::get('keyName', 'groupName', 'defaultValue');
返回值
string|null
: 如果找到,则返回系统设置的值,否则返回指定的默认值或如果没有提供默认值,则返回null
。
set(string $key, string $value, string $group = null, string $description = null, bool $createWhenNotExist = false): void
set()
方法允许您更新现有系统设置的值和描述或创建一个新设置(如果不存在)。
参数
$key
(string): 系统设置的唯一标识符。$value
(string): 为系统设置设置的新值。$group
(string|null): (可选) 系统设置所属的组。默认为null
。$description
(string|null): (可选) 提供关于系统设置的附加信息的描述。默认为null
。$createWhenNotExist
(bool): (可选) 如果设置为true
,则如果指定的键不存在,将创建新的系统设置。默认为false
。
示例
SystemSettingManager::set('keyName', 'newValue', 'groupName', 'newDescription', true);
返回值
void
getByGroup(string $group): array
检索指定组内的所有系统设置。
参数
$group
(string): 从中检索系统设置的组。
示例
SystemSettingManager::getByGroup('groupName');
返回值
array
: 包含指定组内系统设置的关联数组,格式为['key' => 'value']
。
setByGroup(array $settings, string $group = null, bool $createWhenNotExist = false): void
在指定的组内更新或创建多个系统设置。
参数
$settings
(数组):一个关联数组,包含格式为['key' => ['value' => '', 'description' => '']]
的系统设置。$group
(字符串|null):(可选) 系统设置所属的组。默认为null
。$createWhenNotExist
(布尔):(可选) 如果设置为true
,将为在指定组中不存在的键创建新的系统设置。默认为false
。
示例
SystemSettingManager::setByGroup(['key1' => ['value' => 'value1', 'description' => 'desc1']], 'groupName', true);
返回值
void
delete(string $key, string $group = null): bool|null
删除具有指定键和可选组的系统设置。
参数
$key
(string): 系统设置的唯一标识符。$group
(string|null): (可选) 系统设置所属的组。默认为null
。
示例
SystemSettingManager::delete('keyName', 'groupName');
返回值
bool|null
:如果成功删除系统设置,则返回true
,如果设置不存在则返回false
,如果发生错误则返回null
。
待办事项列表
- 添加审计日志