venom/system-settings

一个用于处理应用程序系统设置的laravel模块。

v1.0.0 2024-08-27 09:00 UTC

This package is auto-updated.

Last update: 2024-09-27 09:18:23 UTC


README

Latest Stable Version Total Downloads License

Venom 系统设置包允许您在Laravel应用程序中动态管理应用程序设置。此包提供了一种简单的方法来存储、检索和管理键值对,支持多种数据类型。

功能

  • 动态设置管理:动态存储和检索应用程序设置。
  • 缓存:通过缓存设置来提高性能。
  • 类型管理:支持字符串、整数、布尔值和JSON等不同数据类型。
  • 可扩展:轻松扩展基本模型以添加自定义逻辑或关系。
  • 命令:通过Artisan命令管理设置。

安装

您可以通过Composer安装此包

composer require venom/system-settings

发布配置和迁移

安装后,发布配置和迁移文件

php artisan vendor:publish --provider="Venom\SystemSettings\Providers\SystemSettingsServiceProvider" --tag="config"
php artisan vendor:publish --provider="Venom\SystemSettings\Providers\SystemSettingsServiceProvider" --tag="migrations"

运行迁移以创建必要的表

php artisan migrate

配置

配置文件(config/system_settings.php)包括各种选项

  • cache_duration:缓存设置的分钟数。
  • allowed_types:允许的设置数据类型。
  • model:用于存储设置的模型类。您可以扩展或替换默认模型。
  • cache_key_prefix:存储设置时使用的缓存键的前缀。
  • default_type:当未提供时使用的默认类型。

用法

检索设置

您可以使用get方法检索设置

use Venom\SystemSettings\Facades\SystemSettings;

$value = SystemSettings::get('your_key', 'default_value');

设置值

要设置或更新设置的值

SystemSettings::set('your_key', 'your_value', 'string');

删除设置

通过其键删除设置

SystemSettings::delete('your_key');

批量操作

检索所有设置或按类型筛选

$settings = SystemSettings::all(); // Get all settings
$jsonSettings = SystemSettings::all('json'); // Get settings of type 'json'

Artisan命令

该包提供了一些Artisan命令

  • 设置设置:使用命令行设置或更新设置。
php artisan settings:set key value [type]
  • 获取设置:通过键检索设置值。
php artisan settings:get key
  • 检查设置是否存在:通过键检查设置是否存在。
php artisan settings:has key
  • 清除缓存设置:清除缓存设置。
php artisan settings:clear

扩展包

您可以通过创建继承自基本模型的自定义模型来扩展包

namespace App\Models;

use Venom\SystemSettings\Models\SystemSettings as BaseSystemSettings;

class CustomSystemSettings extends BaseSystemSettings
{
// Custom logic here
}

更新配置文件以使用您的自定义模型

// config/system_settings.php
'model' => \App\Models\CustomSystemSettings::class,

贡献

欢迎贡献!请提交pull请求或创建问题以讨论潜在的改进。

许可证

Venom 系统设置包是开源软件,受MIT许可证的许可。

关键部分

  1. 简介:包及其功能的概述。
  2. 安装:安装和设置包的步骤指南。
  3. 配置:根据您的需求配置包的详细信息。
  4. 用法:如何使用包来管理设置的示例。
  5. 扩展包:使用自定义模型扩展包的说明。
  6. 贡献:有关如何为项目做出贡献的信息。
  7. 许可证:包的许可证信息。

README.md为您的包用户提供清晰且全面的文档。