目录 wudimei-php是一个MIT许可的自由php框架。由杨庆荣开发维护,wudimei.com , QQ290359552

设置

使用设置请在有命令空间的文件头部添加

<?php
use Setting;

Setting的定义默认存放在数据库中的w_settings表。 在保存管理员修改后的设置时,会把设置的名称和值保存到文件系统中,是“\config\setting.php”这件文件。 这个配置文件的内容是:

<?php
return [
    'save_path' => __DIR__ .'/../storage/setting/data.php'
];

它指定了设置保存的路径,用于设置的快速读写。因为在文件中读比在数据库中要快得多。

取出设置的值

取出设置的值使用Setting::get($key)方法,返回设置的值,字符串型。如果是复选框等的值,会以逗号分开多个值。

<?php
echo Setting::get('SITE.NAME');

保存到文件

把数据库中w_settings表的数据保存到配置 save_path指定的路径中去。

<?php
Setting::storeToFile();

插入新配置

<?php
$item = [
            'name' => 'admin.email' ,
            'value' => '****@wudimei.com',
            'label' => 'Administrator\'s email',
            'tip' => 'please enter an email address',
            'type' => 'text',
            'properties' => '{"default":"","size":50}',
            'setting_group_id' => 3
];
SettingModel::insert( $item );

name 是设置的名称,一般以英文,对应数据库中的name字段,以下同理。

value 是设置的值,字符串型。多个值以逗号“,”隔开。

label 是设置项的文本标签,起到提示作用。

tip 是设置项的说明,起到补充说明的作用。

type 是配置项的表单控件类型,有textradiostextareacheckboxesselect等类型。

properties 是设置的属性,以json方式保存,但不编码utf-8字符串。

setting_group_id 是指向w_setting_groups表的主键id,用于标明此配置属于哪个配置分组。

属性 properties

文本

type 的值是 text properties的值如下:

{"default":"","size":50}

这里的default表示默认值,字符串型,size是文本控件的尺寸。你可以添加其它html属生,例如styleclassonclick等等,以下同理。

密码

type 的值是 password properties的值如下:

 {"default":"","size":50}

text类型的差不多。

单选组 radios

type 的值是 radios

properties的值如下:

 {
   "default":"no",
   "options":
    [
      {"value": "yes" ,"text":"setting.Yes"},
      {"value": "no" ,"text":"setting.No"}
    ]
 }

options 的值是一个数组,数组中的元素里面的value表示单选按钮的值, text表示单选的文本。它可以用普通文字表示,也可以用语言的键名表示,例如上面的 setting.Yes

复选组 checkboxes

type 的值是 checkboxes

properties的值如下:

 {
   "default": ["eat","drink"],
   "options" :[
    {"value" : "eat", "text":"eat Food"},
    {"value": "drink", "text": "drunk"},
    {"value": "ridding", "text": "setting.ridding"}
   ]
 }

default 在这里是数组。是默认选中的复选框的值。

options 的值是一个数组,数组中的元素里面的value表示单选按钮的值, text表示单选的文本。它可以用普通文字表示,也可以用语言的键名表示,例如上面的 setting.ridding

下拉框 select

type 的值是 select

properties的值如下:

 {
   "default": ["eat","drink"],
   "multiple":"multiple",
   "options" :[
    {"value" : "eat", "text":"eat Food"},
    {"value": "drink", "text": "drunk"},
    {"value": "ridding", "text": "setting.ridding"}
   ]
 }

default 在这里是数组。是默认选中的选框的值。

options 的值是一个数组,数组中的元素里面的value表示单选按钮的值, text表示单选的文本。它可以用普通文字表示,也可以用语言的键名表示,例如上面的 setting.ridding

"multiple":"multiple", 表示可以多选。

构建控件

把数据表 w_settings表的一行用于生成表单控件。

<?php
$controlHtmlString = Setting::buildControl( $settingItem );

此处$settingItem是数据表 w_settings表的一行。