innologica / yii2-insight-registry
注册表管理
dev-master
2017-07-26 06:24 UTC
Requires
- yiisoft/yii2: *
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();
注意!!! 设置将从缓存以及数据库中的镜像中删除!