sajadsdi/laravel-setting-pro

为laravel框架提供简单的设置管理

安装次数: 1,572

依赖者: 0

建议者: 0

安全: 0

星标: 130

关注者: 2

分支: 4

开放问题: 0

类型:laravel-package

2.0.2 2024-04-23 00:31 UTC

This package is auto-updated.

Last update: 2024-09-08 23:54:10 UTC


README

Laravel Setting Pro

Laravel Setting Pro

轻松管理Laravel应用程序设置。

描述

这是一个Laravel包,提供了一种简单而有效的方式来处理应用程序设置,支持使用基于文件和数据库的驱动程序进行持久化存储。

功能

Laravel Setting Pro包简化了Laravel中的应用程序设置管理,并提供以下关键特性

  • 灵活的存储:根据您的应用程序需求选择基于文件或数据库存储。

  • 灵活的数据库:选择mysqlmongodb,或创建自己的数据库连接来存储设置。

  • 缓存:通过自动缓存设置来提高性能。您可以选择fileredis,或创建自己的缓存驱动程序。

  • 队列支持:在后台处理设置更新和删除,确保用户体验顺畅。

  • 事件触发:利用Laravel事件实时响应设置更改。

  • 全局辅助函数和外观:使用简单的setting函数或Setting外观(即使在配置文件中)在任何地方访问和操作设置。

  • Artisan命令简化使用:使用setting:publish Artisan命令轻松发布配置和迁移文件;使用setting:install命令完成安装、迁移和初始测试。

  • 使用点表示法轻松获取、设置和删除设置:在嵌套设置键上执行getsetdeletehas操作。

  • 轻松导入设置:从驱动程序导入设置到默认存储驱动程序。

  • 自动创建设置:您可以在任何新的设置名称上使用默认值进行获取操作或设置操作。

本包旨在为寻求高效直观处理应用程序设置的开发商设计。它提供了必要的工具,同时使过程简单且可维护。

要求

  • PHP ^8.1
  • Laravel ^9.0|^10.0

安装

使用Composer安装此包

composer require sajadsdi/laravel-setting-pro

设置

安装包后,使用提供的Artisan命令发布配置和迁移文件,并完成安装过程

首先,使用以下命令发布配置和迁移文件

php artisan setting:publish

这将把_setting.php发布到您的config文件夹和迁移文件。

然后,使用安装命令执行迁移和任何必要的设置操作

php artisan setting:install

这些命令将在数据库中设置您的设置表,并确保包已准备好使用。

用法

使用Laravel Setting Pro的两种方式

  1. 使用setting函数
// Get a setting value
$value = setting('my_setting')->get('key', 'default value');
//or 
$value = setting('my_setting','key', 'default value');
//or
$value = setting()->select('my_setting')->get('key', 'default value');


// Set a setting value
setting('my_setting')->set(['key' => 'value']);
//or
setting()->select('my_setting')->set(['key' => 'value']);


//delete a key from setting
setting('my_setting')->delete('key');
//or
setting()->select('my_setting')->delete('key');
  1. 使用Setting外观
<?php
use Sajadsdi\LaravelSettingPro\Support\Setting;

// Get a setting value
$value = Setting::select('my_setting')->get('key', 'default value');
//or
$value = Setting::my_setting()->get('key', 'default value');
//or
$value = Setting::my_setting('key', 'default value');

// Set a setting value
Setting::select('my_setting')->set('key', 'value');
//or
Setting::my_setting()->set('key', 'value');

//delete key from setting
Setting::select('my_setting')->delete('key');
//or
Setting::my_setting()->delete('key');

//checking exists by has method
if(Setting::select('my_setting')->has('key')){
    echo "key exists!";
}else{
    echo "key not exists!";
}

高级用法

您可以像上面所述以任何方式使用setget操作,使用点表示法和多个键和默认值,如下所示

//get operation

$value = Setting::my_setting(['users.3.profile.pic','users.3.profile.name'], ["default.png","No name"]);
//or multi keys and single defaults
$value = setting('my_setting')->get(['users.3.profile.pic','users.3.profile.name'], ["no data"]);


//set operation 
setting::select('my_setting')->set(['users.3.profile.pic' => "profile.png",'users.3.profile.name' => "john"])

//delete multiple keys
setting::select('my_setting')->delete(['users.3.profile.pic','users.3.profile.name']);

//multiple keys checking exists by has method
if(Setting::select('my_setting')->has(['users.3.profile.pic','users.3.profile.name'])){
    echo "The keys are exists!";
}else{
    echo "The keys do not exist!";
}


// it's very Easy

本包使用Dot Notation Array包来获取键和设置操作,您可以通过查阅文档更好地使用Laravel Setting Pro

缓存

您可以将配置设置为启用设置缓存,并可以选择缓存驱动程序以获得最佳性能。要清除设置缓存,请使用

php artisan setting:clear-cache

配置

您可以在Laravel配置路径上更改_setting配置。

有关配置Laravel Setting Pro的更多详细信息,请点击此处

贡献

我们欢迎社区贡献以改进和扩展这个库。如果您想贡献,请按照以下步骤操作

  1. 在GitHub上分支此仓库。
  2. 在本地克隆您的分支。
  3. 为您的功能或错误修复创建一个新的分支。
  4. 进行更改,并使用清晰、简洁的提交信息提交它们。
  5. 将您的更改推送到GitHub上的分支。
  6. 向主仓库提交一个拉取请求。

报告错误和安全问题

如果您发现此项目中的任何安全漏洞或错误,请通过以下渠道通知我们

  • GitHub问题:您可以在我们的GitHub仓库上打开一个问题来报告错误或安全担忧。请尽可能提供详细信息,包括重现问题的步骤。

  • 联系:对于敏感的安全相关问题,您可以通过以下联系渠道直接联系我们

联系

如果您有任何问题、建议、财务问题,或者想为此项目做出贡献,请随时联系维护者

我们感谢您的反馈、支持和任何有助于我们维护和改进此项目的财务贡献。

许可

此软件包是开源软件,受MIT许可证许可。

SajaD SaeeDi用❤️制作。