laravelbap/settings

Laravel框架的持久化配置包。

4.0.0 2021-11-28 19:56 UTC

This package is auto-updated.

Last update: 2024-09-29 06:03:14 UTC


README

https://github.com/edvinaskrucas/settings 分支 Fork 来的。已更新到 Laravel 8

Laravel 8 的持久化配置包。

  • 驱动支持
  • 通过laravel cache缓存配置
  • 加密/解密设置值
  • 在操作后触发事件
  • 覆盖配置值
  • 辅助函数
  • 按上下文设置
  • 序列化值

安装

在您的 composer.json 中要求此包

"require": {
  "laravelbap/settings": "3.0.0"
}

版本矩阵

注册以在 Laravel 中使用它

将以下行添加到 app/config/app.php

ServiceProvider 数组

Laravelbap\Settings\Providers\SettingsServiceProvider::class,

别名数组

'Settings' => Laravelbap\Settings\Facades\Settings::class

发布配置文件

如果您想编辑默认的配置文件,只需将其发布到您的应用程序文件夹中。

php artisan vendor:publish --provider="Laravelbap\Settings\Providers\SettingsServiceProvider" --tag="config"

用法

配置

该包包含多个配置选项。

为数据库驱动创建表

要使用数据库驱动,您需要在数据库中创建一个表。该包提供了默认的迁移文件,要创建它,您需要执行 artisan 命令

$ php artisan settings:table

方法

设置值

设置设置值。

Settings::set($key, $value = null);

获取值

获取设置值,如果没有找到值则返回默认值。

Settings::get($key, $default = null);

检查值

确定设置是否存在。

Settings::has($key);

忘记值

从存储库中忘记设置值。

Settings::forget($key);

设置上下文

设置值可以在某些上下文中使用。可以使用 context() 方法设置上下文。

Settings::context(new Context(['user' => 1]));

在调用这些方法之一后,上下文将被重置 setgethasforget。如何使用不同上下文的设置示例。

$userContext1 = new Context(['user' => 1]);
$userContext2 = new Context(['user' => 2]);
Settings::context($userContext1)->set('key', 'value1');
Settings::context($userContext2)->set('key', 'value2');

// retrieve settings
$userValue1 = Settings::context($userContext1)->get('key'); // value1
$userValue2 = Settings::context($userContext2)->get('key'); // value2

辅助函数

设置服务实例

解析设置服务实例。

settings();

设置值

设置设置值。

settings([$key => $value]);

为上下文设置设置值。

settings([$key => $value], new Context(['user' => 1]));

获取值

获取设置值,如果没有找到值则返回默认值。

settings($key, $default = null);

获取上下文的值。

settings($key, $default, new Context(['user' => 1]));

事件

如果未通过配置禁用(默认启用),将触发事件。

settings.checking: $key

在检查值是否存在于存储库之前触发。

settings.has: $key

在检查值是否存在于存储库之后触发。

settings.getting: $key

在从存储库检索值之前触发。

settings.get: $key

在从存储库检索值之后触发。

settings.setting: $key

在将值设置到存储库之前触发。

settings.set: $key

在将值设置到存储库之后触发。

settings.forgetting: $key

在忘记值之前触发。

settings.forget: $key

在忘记值之后触发。