使用设置请在有命令空间的文件头部添加
<?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
是配置项的表单控件类型,有text
、radios
、textarea
、checkboxes
、select
等类型。
properties
是设置的属性,以json方式保存,但不编码utf-8字符串。
setting_group_id
是指向w_setting_groups
表的主键id,用于标明此配置属于哪个配置分组。
type
的值是 text
properties
的值如下:
{"default":"","size":50}
这里的default
表示默认值,字符串型,size
是文本控件的尺寸。你可以添加其它html属生,例如style
、class
、onclick
等等,以下同理。
type
的值是 password
properties
的值如下:
{"default":"","size":50}
和text
类型的差不多。
type
的值是 radios
properties
的值如下:
{
"default":"no",
"options":
[
{"value": "yes" ,"text":"setting.Yes"},
{"value": "no" ,"text":"setting.No"}
]
}
options
的值是一个数组,数组中的元素里面的value
表示单选按钮的值, text
表示单选的文本。它可以用普通文字表示,也可以用语言的键名表示,例如上面的 setting.Yes
。
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
。
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
表的一行。