[关闭]
@liuwanwei 2017-06-01T18:11:40.000000Z 字数 1567 阅读 1249

buddysoft/yii2-module 使用说明

Yii


1. 简介

yii2-module 封装了使用 Yii2 开发中通用的一些模块,目前只有 setting 模块,实现配置项的简单管理。

1.1 适用环境

2. setting 模块

这是为 Yii2 封装的一个配置项管理模块。比如我们在开发中,需要使用某个变量,我们希望这个变量能够通过后台配置参数,为此我们需要准备:

  1. 在数据库中创建配置表,并定义好每个字段;
  2. 在 Web 界面中国提供展示、修改每个字段的入口;
  3. 对用户的输入做检查,确保输入的安全性;
  4. 在代码中方便的使用配置项;

所以针对以上需求,开发了 setting 模块,名字空间为:

buddysoft/modules/setting

setting 表中每条记录有四个属性:

  1. name:配置项名字,用于在后台界面中显示
  2. key:配置项键值,通过键值访问配置项的内容
  3. value:配置项的内容(值)
  4. description:配置项详细描述信息

配置项定义方法:

[
    'name' => '短信通道开关',
    'key' => 'sms-switch',
    'value' => '1', // 默认值
    'weight' => '0', // 后台配置界面显示顺序
    'description' => '是否打开短信验证,打开后...',
    'options' => [
        'validator' => 'in',
        'params' => [
            'range' => ['1', '0']
        ]
    ],
],

需要注意的是上面的 options,它是对 value 进行定义,可以对用户的输入进行验证,方法完全兼容 Yii2 内置 Validators。有两个属性:

2.1 使用方法

向数据库导入 setting 表,表定义在:

yii2-module/setting/migrations/setting.sql

或者通过 migration 导入:

./yii migrate --migrationPath=@vendor/buddysoft/yii2-module/setting/migrations

根据配置文件示例,创建自己的配置文件:

示例文件位置: yii2-module/setting/migrations/settings.php

导入配置步骤:

1. 拷贝配置文件

一般在 Yii2 Advance Template 的后端(backend)创建配置文件,因为我们要在后台界面重管理这些配置项。

#cp vendor/yii2-module/setting/migrations/settings.php backend/config/bd_settings.php

2. 修改 main.php

在文件顶部引入配置文件:

$bdSettings = require(__DIR__ . '/bd_settings.php');

在 modules 配置中增加 setting 模块的定义,用到的 bdSettings 变量,就是上面配置的内容。

'modules' => [
    'setting' => [
        'class' => 'buddysoft\modules\setting\Module',
        'defaultSetting' =>  $bdSettings,
    ],
],

经过以上配置,就能在浏览中访问配置界面了。

http://demo-be-lo.bl99w.com/setting/setting/index

3. 在代码中使用配置项

use buddysoft/modules/setting/models/Setting;
...
$intValue = Setting::intValue('sms-switch-on');
...

'sms-switch' 就是配置项的 key 值。

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注