hankz / laravel-system-settings

一个为在数据库中管理系统配置值而设计的 Laravel 包。

v1.0.0 2024-01-11 17:50 UTC

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

待办事项列表

  • 添加审计日志

许可证

MIT 许可证 © 2023 Hankz