solutosoft / yii-settings

所有租户使用的共享数据库

2.0.1 2020-08-27 10:07 UTC

This package is auto-updated.

Last update: 2024-08-27 19:32:20 UTC


README

本扩展为Yii2提供持久化设置的支撑。

Build Status Scrutinizer Code Quality Code Coverage Total Downloads Latest Stable Version

安装

安装此扩展的最佳方式是通过 composer

运行以下命令之一:

php composer.phar require --prefer-dist solutosoft/yii-settings

或者添加

"solutosoft/yii-settings": "*"

配置

要使用设置组件,您需要在应用程序配置中配置组件数组

'components' => [
    'settings' => [
        'class' => 'solutosoft\settings\Settings',
    ],
],

使用方法

$settings = Yii::$app->settings;

$settings->set('key');

$settings->set('section.key');

// Checking existence of setting
$settings->exists('key');

// Removes a setting
$settings->remove('key');

// Removes all settings
$settings->removeAll();

事件

您可以使用 beforeExecute 事件在命令执行前存储额外值和应用额外条件

<?php

'components' => [
    'settings' => [
        'class' => 'solutosoft\settings\Settings',
        'on beforeExecute' => function ($event) {
            $event->data = ['user_id' => Yii::$app->user->id];
        }
    ],
],

$settings = Yii::$app->settings;

//INSERT (`key`,`value`, `user_id`) INTO `setting` VALUES ('website', 'http://example.org', 1)
$settings->set('website', 'http://example.org');

//SELECT `value` FROM `setting` WHER (`settings`.`key` = 'website' and `settings`.`user_id` = 1)
$settings->get('website', 'http://example.org');