视图组件是GF
框架核心的组件之一,当然也支持非常方便的配置管理功能。
配置对象
配置对象定义:https://godoc.org/github.com/gogf/gf/os/gview#Config
配置方法
方法列表: https://godoc.org/github.com/gogf/gf/os/gview
简要说明:
- 可以通过
SetConfig
及SetConfigWithMap
来设置。 - 也可以使用
View
对象的Set*
方法进行特定配置的设置。 - 主要注意的是,配置项在
View
对象执行视图解析之前设置,避免并发安全问题。
SetConfigWithMap
方法
我们可以使用SetConfigWithMap
方法通过Key-Value
键值对来设置/修改View
的特定配置,其余的配置使用默认配置即可。其中Key
的名称即是Config
这个struct
中的属性名称,并且不区分大小写,单词间也支持使用-
/_
/空格
符号连接,具体可参考【gconv.Struct转换规则】章节。
简单示例:
view := gview.New()
view.SetConfigWithMap(g.Map{
"Paths": []string{"template"},
"DefaultFile": "index.html",
"Delimiters": []string{"${", "}"},
"Data": g.Map{
"name": "gf",
"version": "1.10.0",
},
})
result, err := view.ParseContent("hello ${.name}, version: ${.version}")
其中DefaultFile
表示默认解析的模板文件,键名也可以使用defaultFile
, default-File
, default_file
, default file
,其他配置属性以此类推。
配置文件
视图组件支持配置文件,当使用g.View(单例名称)
获取View
单例对象时,将会自动通过默认的配置管理对象获取对应的View
配置。默认情况下会读取viewer.单例名称
配置项,当该配置项不存在时,将会读取viewer
配置项。
示例1,默认配置项
[viewer]
paths = ["template", "/var/www/template"]
defaultFile = "index.html"
delimiters = ["${", "}"]
[viewer.data]
name = "gf"
version = "1.10.0"
随后可以使用g.View()
获取默认的单例对象时自动获取并设置该配置。
示例2,多个配置项
多个View
对象的配置示例:
[viewer]
paths = ["template", "/var/www/template"]
defaultFile = "index.html"
delimiters = ["${", "}"]
[viewer.data]
name = "gf"
version = "1.10.0"
[viewer.view1]
defaultFile = "layout.html"
delimiters = ["${", "}"]
[viewer.view2]
defaultFile = "main.html"
delimiters = ["#{", "}"]
我们可以通过单例对象名称获取对应配置的View
单例对象:
// 对应 viewer.view1 配置项
v1 := g.View("view1")
// 对应 viewer.view2 配置项
v2 := g.View("view2")
// 对应默认配置项 viewer
v3 := g.View("none")
// 对应默认配置项 viewer
v4 := g.View()