@liuwanwei
2017-06-01T18:11:40.000000Z
字数 1567
阅读 1261
Yii
yii2-module 封装了使用 Yii2 开发中通用的一些模块,目前只有 setting 模块,实现配置项的简单管理。
这是为 Yii2 封装的一个配置项管理模块。比如我们在开发中,需要使用某个变量,我们希望这个变量能够通过后台配置参数,为此我们需要准备:
所以针对以上需求,开发了 setting 模块,名字空间为:
buddysoft/modules/setting
setting 表中每条记录有四个属性:
配置项定义方法:
[
'name' => '短信通道开关',
'key' => 'sms-switch',
'value' => '1', // 默认值
'weight' => '0', // 后台配置界面显示顺序
'description' => '是否打开短信验证,打开后...',
'options' => [
'validator' => 'in',
'params' => [
'range' => ['1', '0']
]
],
],
需要注意的是上面的 options,它是对 value 进行定义,可以对用户的输入进行验证,方法完全兼容 Yii2 内置 Validators。有两个属性:
向数据库导入 setting 表,表定义在:
yii2-module/setting/migrations/setting.sql
或者通过 migration 导入:
./yii migrate --migrationPath=@vendor/buddysoft/yii2-module/setting/migrations
根据配置文件示例,创建自己的配置文件:
示例文件位置: yii2-module/setting/migrations/settings.php
导入配置步骤:
一般在 Yii2 Advance Template 的后端(backend)创建配置文件,因为我们要在后台界面重管理这些配置项。
#cp vendor/yii2-module/setting/migrations/settings.php backend/config/bd_settings.php
在文件顶部引入配置文件:
$bdSettings = require(__DIR__ . '/bd_settings.php');
在 modules 配置中增加 setting 模块的定义,用到的 bdSettings 变量,就是上面配置的内容。
'modules' => [
'setting' => [
'class' => 'buddysoft\modules\setting\Module',
'defaultSetting' => $bdSettings,
],
],
经过以上配置,就能在浏览中访问配置界面了。
use buddysoft/modules/setting/models/Setting;
...
$intValue = Setting::intValue('sms-switch-on');
...
'sms-switch' 就是配置项的 key 值。