venom / system-settings
一个用于处理应用程序系统设置的laravel模块。
v1.0.0
2024-08-27 09:00 UTC
Requires
- illuminate/bus: ^11.21
- illuminate/contracts: ^11.21
- illuminate/database: ^11.21.0
- illuminate/queue: ^11.21
- illuminate/support: ^11.21.0
README
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许可证的许可。
关键部分
- 简介:包及其功能的概述。
- 安装:安装和设置包的步骤指南。
- 配置:根据您的需求配置包的详细信息。
- 用法:如何使用包来管理设置的示例。
- 扩展包:使用自定义模型扩展包的说明。
- 贡献:有关如何为项目做出贡献的信息。
- 许可证:包的许可证信息。
此README.md为您的包用户提供清晰且全面的文档。