corleone/user-settings

一个简单的Laravel包,用于管理项目中的用户设置。

dev-master 2018-03-03 08:15 UTC

This package is not auto-updated.

Last update: 2024-09-23 15:05:18 UTC


README

此包是Laravel 5包。它处理已登录用户的用户设置。

这是我发布的第一个公开的Laravel包。如果您有一些想法可以扩展和/或优化它,请提交或分支!我总是乐于学习新事物。

要求

  • Laravel >=5
  • PHP >=7

安装

  1. 首先,将包添加到您的 composer.json
composer require "corleone/user-settings"
  1. 打开您的 config/app.php 并将以下行添加到您的别名中
'UserSettings' => \Corleone\UserSettings\UserSettings::class,
  1. 使用终端运行以下命令来发布迁移和 config/user-sattings.php 文件
php artisan vendor:publish
php artisan user-settings:migration
  1. 运行 php artisan migrate 将设置列添加到您的用户表中。(注意:如果您自定义此文件,将其复制到您的 database/migrations 目录,然后运行此命令)

  2. 在您的 config/user-settings.php 中,您可以看到一个二维数组,您现在可以配置它

'database' => [
    'table' => 'users',
    'column' => 'settings',
    'primary_key' => 'id'
],
'settings' => [
    // insert here your settings
]

配置 config/user-settings.php 文件

tablecolumnprimary_key 设置为与您的用户表匹配。`primary_key` 应该是用户ID。

settings 数组中,您可以设置特定设置的默认值,例如。

'database' => [
    'table' => 'users',
    'column' => 'settings',
    'primary_key' => 'id'
],
'settings' => [
    'display_time' => 7,
    'be_logged_in' => false,
    'background_color' => 'black',
    'what_else' => '1.2'
]

用法

您可以在控制器和视图中使用 UserSettings 类。设置将作为JSON存储在您的设置列中。

注意:如果您想在控制器或类中使用它,必须设置 use Corleone\UserSettings\UserSettings;

设置设置

此方法将(如果设置在您的 config/user-settings.php 文件中定义)设置或添加(如果默认值未定义)设置到JSON中。

UserSettings::set(string [setting], [value]);

注意:设置方法将匹配来自 config/user-settings.php 的数据类型值,如果它们存在。因此,您可以更好地开发您的应用程序。

设置默认设置

此方法将 config/user-settings.php 文件中的默认设置设置到用户表中。

UserSettings::setDefaultSettings();

重置设置

此方法将设置重置为 config/user-settings.php 文件中的默认值,如果它们存在。否则,它将从JSON中简单地删除它。

UserSettings::reset(string [setting]): bool;

此方法将返回 true 如果设置已从 config/user-settings.php 文件设置为默认值,如果设置简单地被删除,则返回 false

注意:如果您想重置用户的全部设置,请使用 PHP UserSettings::SetDefaultSettings()

获取设置

此方法将返回设置的值。

UserSettings::get(string [setting]);

获取所有设置

此方法将返回所有设置作为对象。

UserSettings::all(): object;

询问用户是否具有特定设置

如果用户有设置,此方法将返回 true,否则返回 false

UserSettings::has(string [setting]): bool;

保存设置

所有设置将自动保存。

许可协议

此包是免费软件,根据MIT许可证条款分发。