laravelbap / settings
Laravel框架的持久化配置包。
4.0.0
2021-11-28 19:56 UTC
Requires
- php: ^7.2.5 || ^8.0
- illuminate/console: ^6.0 || ^7.0 || ^8.0
- illuminate/database: ^6.0 || ^7.0 || ^8.0
- illuminate/filesystem: ^6.0 || ^7.0 || ^8.0
- illuminate/support: ^6.0 || ^7.0 || ^8.0
Requires (Dev)
- mockery/mockery: ^1.3.1
- phpunit/phpunit: ^8.5.8|^9.3.3
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]));
在调用这些方法之一后,上下文将被重置 set
、get
、has
、forget
。如何使用不同上下文的设置示例。
$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
在忘记值之后触发。