innologica/yii2-insight-registry

注册表管理

安装: 242

依赖者: 0

建议者: 0

安全: 0

类型:yii2-extension

dev-master 2017-07-26 06:24 UTC

This package is auto-updated.

Last update: 2024-09-13 04:14:31 UTC


README

一个用于存储分层低级别设置的 Yii2 插件。

安装

php composer.phar require --prefer-dist innologica/yii2-insight-registry "*"

或者添加

"innologica/yii2-insight-registry": "*"

到你的 composer.json 文件的 require 部分。

配置

运行迁移

$ ./yii migrate --migrationPath=vendor/innologica/yii2-insight-registry/migrations

将注册表组件添加到你的 components 部分

'components' => [
    'registry' => [
        'class' => '\insight\registry\components\Registry',
    ],
    'cache' => [
        'class' => 'yii\caching\FileCache', // Or something else
    ],
    ...
],

注意:注册表插件使用缓存。不要忘记添加和调整缓存组件!

使用

设置设置

<?= Yii::$app->registry->set('settingKey', 'settingValue'); ?>

为特定用户设置设置

<?= Yii::$app->registry->get('settingKey', 'settingValue', 123); ?>

获取设置

<?= Yii::$app->registry->get('settingKey'); ?>

为特定用户获取设置

<?= Yii::$app->registry->get('settingKey', 123); ?>

设置管理

添加/更新设置最常见的方式是通过 RegistryForm。要创建表单,你必须传递你想要编辑的设置,如下所示

$model = Yii::createObject([
    'class' => \insight\registry\models\forms\RegistryForm::className(),
    'settings' => [
        'settingKey.subkey1' => 'value 1',
        ...
    ],
]);

该表单与注册表组件通信,并将覆盖缓存中找到的 RegistryForm::$settings。

在视图中

<?= $form->field($model, 'settingKey.subkey1')->textInput(); ?>

之前提到的字段的标签将是 Subkey1

从注册表中删除所有设置

Yii::$app->registry->clear();

注意!!! 设置将从缓存以及数据库中的镜像中删除!