grimthorr / laravel-user-settings
Laravel 5 的简单用户设置门面。
Requires
- php: >=5.4.0
- illuminate/config: 5.*
- illuminate/database: 5.*
- illuminate/support: 5.*
This package is not auto-updated.
Last update: 2023-03-04 07:37:31 UTC
README
Laravel 5 的简单用户设置门面。设置以 JSON 格式存储在单个数据库列中,因此您可以轻松地将其添加到现有表(例如 users)中。
仍在使用 Laravel 4 吗? 确保使用 1.x 版本(composer require grimthorr/laravel-user-settings ~1.0)。
警告
此存储库已归档。 它不再维护,可以认为是已废弃的。虽然它可能与 Laravel 的后续版本一起工作,但在使用时应谨慎,以避免引入任何意外的安全风险。
安装
- 运行
composer require grimthorr/laravel-user-settings将其包含到项目中。 - 将
'Grimthorr\LaravelUserSettings\ServiceProvider'添加到config/app.php中的providers。
'providers' => array( // ... 'Grimthorr\LaravelUserSettings\ServiceProvider', ),
- 将
'Setting' => 'Grimthorr\LaravelUserSettings\Facade'添加到config/app.php中的aliases。
'aliases' => array( // ... 'Setting' => 'Grimthorr\LaravelUserSettings\Facade', ),
- 运行
php artisan vendor:publish --provider="Grimthorr\LaravelUserSettings\ServiceProvider" --tag="config"发布配置文件。 - 根据需要修改位于
config/laravel-user-settings.php的已发布配置文件。 - 在您的数据库表中创建一个 varchar(字符串)列,以匹配步骤 5 中的配置文件。或者,使用此包中包含的 Laravel 迁移来自动在
users表中创建settings列:php artisan vendor:publish --provider="Grimthorr\LaravelUserSettings\ServiceProvider" --tag="migrations" && php artisan migrate。
配置
打开 config/laravel-user-settings.php 以调整包配置。如果此文件不存在,则运行 php artisan vendor:publish --provider="Grimthorr\LaravelUserSettings\ServiceProvider" --tag="config" 以创建默认配置文件。
return array( 'table' => 'users', 'column' => 'settings', 'constraint_key' => 'id', 'default_constraint_value' => null, 'custom_constraint' => null, );
表
指定您要使用的数据库表。
列
指定要存储设置 JSON 数据的上述表中的列。
约束键
指定用于约束的索引列 - 这用于区分不同的用户、对象或模型(通常是 id)。
默认约束值
指定默认约束值 - 默认情况下,这将是指定当前用户 ID,并且可以由任何函数调用中指定的 $constraint_value 取代。
自定义约束
指定每个查询的 where 子句 - 如果您 不 想要访问不同的行(例如如果您的应用程序是单用户模式),则设置此值。
用法
使用设置外观(Setting::)或辅助函数(setting()->)来访问此包中的方法。在所有函数中,$constraint_value参数都是可选的;如果未传递,则使用配置文件中的default_constraint_value。
设置
Setting::set('key', 'value', $constraint_value); setting()->set('key', 'value', $constraint_value);
使用set来更改设置的值。如果设置不存在,它将被自动创建。您可以通过将关联数组(key=>value)传递给第一个参数一次设置多个键。
获取
Setting::get('key', 'default', $constraint_value); setting()->get('key', 'default', $constraint_value); setting('key', 'default', $constraint_value);
使用get来检索设置的值。第二个参数是可选的,可以用来指定如果设置不存在时的默认值(默认默认值为null)。
忘记
Setting::forget('key', $constraint_value); setting()->forget('key', $constraint_value);
通过调用forget来取消设置或删除设置。
有
Setting::has('key', $constraint_value); setting()->has('key', $constraint_value);
检查设置的是否存在,返回布尔值。
所有
Setting::all($constraint_value); setting()->all($constraint_value);
以关联数组(key=>value)的形式检索所有设置。
保存
Setting::save($constraint_value); setting()->save($constraint_value);
将所有更改保存回数据库。在更改后需要调用此函数;它不是自动的。
加载
Setting::load($constraint_value); setting()->load($constraint_value);
从数据库重新加载设置。如果之前未加载设置,则在访问或修改设置时将自动调用。
示例
以下示例使用默认配置。
使用默认约束值
以下代码设置并返回当前登录用户的设置"example"。
// Set 'example' setting to 'hello world' Setting::set('example', 'hello world'); // Save to database Setting::save(); // Get the same setting return Setting::get('example');
指定约束值
以下代码设置并返回ID为23的用户的设置"example"。
// Set 'example' setting to 'hello world' Setting::set('example', 'hello world', 23); // Save to database Setting::save(23); // Get the same setting return Setting::get('example', null, 23);
最后
贡献
如果您想贡献,请随意创建一个分支并提交一个pull请求。
错误报告
如果您注意到有任何问题,请提交GitHub上的问题。