日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
創(chuàng)新互聯(lián)GoFrame教程:GoFrame 模板引擎-模板配置

視圖組件是?GOFrame?框架核心的組件之一,當(dāng)然也支持非常方便的配置管理功能。

站在用戶的角度思考問題,與客戶深入溝通,找到萬源網(wǎng)站設(shè)計(jì)與萬源網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:成都網(wǎng)站制作、網(wǎng)站設(shè)計(jì)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、域名注冊(cè)、虛擬主機(jī)、企業(yè)郵箱。業(yè)務(wù)覆蓋萬源地區(qū)。

配置對(duì)象

配置對(duì)象定義: https://pkg.go.dev/github.com/gogf/gf/v2/os/gview#Config

配置文件

視圖組件支持配置文件,當(dāng)使用?g.View?(單例名稱)獲取?View?單例對(duì)象時(shí),將會(huì)自動(dòng)通過默認(rèn)的配置管理對(duì)象獲取對(duì)應(yīng)的?View?配置。默認(rèn)情況下會(huì)讀取?viewer.單例名稱?配置項(xiàng),當(dāng)該配置項(xiàng)不存在時(shí),將會(huì)讀取?viewer?配置項(xiàng)。

完整配置文件配置項(xiàng)及說明如下,其中配置項(xiàng)名稱不區(qū)分大小寫:

[viewer]
    Paths       = ["/var/www/template"] # 模板文件搜索目錄路徑,建議使用絕對(duì)路徑。默認(rèn)為當(dāng)前程序工作路徑
    DefaultFile = "index.html"          # 默認(rèn)解析的模板引擎文件。默認(rèn)為"index.html"
    Delimiters  =  ["${", "}"]          # 模板引擎變量分隔符號(hào)。默認(rèn)為 ["{{", "}}"]
    AutoEncode  = false                 # 是否默認(rèn)對(duì)變量?jī)?nèi)容進(jìn)行XSS編碼。默認(rèn)為false
    [viewer.Data]                       # 自定義的全局Key-Value鍵值對(duì),將在模板解析中可被直接使用到
        Key1 = "Value1"
        Key2 = "Value2"

示例1,默認(rèn)配置項(xiàng)

[viewer]
    paths       = ["template", "/var/www/template"]
    defaultFile = "index.html"
    delimiters  =  ["${", "}"]
    [viewer.data]
        name    = "gf"
        version = "1.10.0"

隨后可以使用?g.View()?獲取默認(rèn)的單例對(duì)象時(shí)自動(dòng)獲取并設(shè)置該配置。

示例2,多個(gè)配置項(xiàng)

多個(gè)?View?對(duì)象的配置示例:

[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  = ["#{", "}"]

我們可以通過單例對(duì)象名稱獲取對(duì)應(yīng)配置的?View?單例對(duì)象:

// 對(duì)應(yīng) viewer.view1 配置項(xiàng)
v1 := g.View("view1")
// 對(duì)應(yīng) viewer.view2 配置項(xiàng)
v2 := g.View("view2")
// 對(duì)應(yīng)默認(rèn)配置項(xiàng) viewer
v3 := g.View("none")
// 對(duì)應(yīng)默認(rèn)配置項(xiàng) viewer
v4 := g.View()

配置方法

方法列表: https://pkg.go.dev/github.com/gogf/gf/v2/os/gview

簡(jiǎn)要說明: 

  1. 可以通過?SetConfig?及?SetConfigWithMap?來設(shè)置。
  2. 也可以使用?View?對(duì)象的?Set*?方法進(jìn)行特定配置的設(shè)置。
  3. 主要注意的是,配置項(xiàng)在?View?對(duì)象執(zhí)行視圖解析之前設(shè)置,避免并發(fā)安全問題。

SetConfigWithMap方法

我們可以使用?SetConfigWithMap?方法通過?Key-Value?鍵值對(duì)來設(shè)置/修改?View?的特定配置,其余的配置使用默認(rèn)配置即可。其中?Key?的名稱即是?Config?這個(gè)?struct?中的屬性名稱,并且不區(qū)分大小寫,單詞間也支持使用?-?/?_?/空格符號(hào)連接。

簡(jiǎn)單示例:

package main

import (
	"context"
	"fmt"
	"github.com/gogf/gf/v2/frame/g"
	"github.com/gogf/gf/v2/os/gview"
)

func main() {
	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(context.TODO(), "hello ${.name}, version: ${.version}")
	if err != nil {
		panic(err)
	}
	fmt.Println(result)
}

其中?DefaultFile?表示默認(rèn)解析的模板文件,鍵名也可以使用?defaultFile?, ?default-File?, ?default_file?, ?default file?,其他配置屬性以此類推。

注意事項(xiàng)

經(jīng)常有小伙伴問,為什么我的模板解析沒有生效?為什么頁面上直接將我寫的標(biāo)簽原模原樣顯示出來了?

這個(gè)時(shí)候請(qǐng)檢查你的配置文件中是否有設(shè)置模板標(biāo)簽,常見的是?delimiters?設(shè)置為了?["${", "}"]?,但是模板中使用的是?["{{", "}}"]?。


標(biāo)題名稱:創(chuàng)新互聯(lián)GoFrame教程:GoFrame 模板引擎-模板配置
網(wǎng)站地址:http://www.5511xx.com/article/djhpohh.html