您好,登錄后才能下訂單哦!
配置文件 預(yù)備知識(shí)
可以讓設(shè)計(jì)者將全局的模板變量以文件形式管理起來(lái)。
其中一個(gè)例子是管理模板的顏色值:
通常如果你需要從程序中更改顏色主題,那么你需要找到每個(gè)模板文件, 并且修改它們的顏色值。
通過(guò)配置文件,顏色值被統(tǒng)一放置到配置文件內(nèi),你只需要修改這個(gè)文件即可。
# global variables pageTitle = "Main Menu" bodyBgColor = #000000 tableBgColor = #000000 rowBgColor = #00ff00 [Customer] pageTitle = "Customer Info" [Login] pageTitle = "Login" focus = "username" Intro = """This is a value that spans more than one line. you must enclose it in triple quotes.""" # hidden section [.Database] host=my.example.com db=ADDRESSBOOK user=php-user pass=foobar
配置文件
配置變量的值
1.可以被引用起來(lái),但不是必須的。
2.可以使用單引號(hào)或者雙引號(hào)。
3.如果有的值會(huì)跨度不止一行的,那么需要用三引號(hào)(""")把它們括起來(lái)。
注釋 #
(井號(hào))
你可以將任何形式的注釋放到配置文件中,但這不是有效的配置文件語(yǔ)法。
使用#
(井號(hào)) 來(lái)作為注釋行的開(kāi)頭。
段落 [ ]
段落的名字用[方括號(hào)]括起來(lái)。
段落名稱(chēng)可以是任意字符,但不包括[
或
]
符號(hào)。
最頂部的四個(gè)值是全局變量,也就是不在段落內(nèi)的變量。 這些全局變量將總是被載入。
當(dāng)一個(gè)特定的段落被載入,那么段落的變量以及全局變量都會(huì)被載入。
如全局變量和段落變量都有同樣的變量,那么將使用段落的變量。
如有相同的兩個(gè)變量在同一個(gè)段落,最后一個(gè)將會(huì)被使用,除非 $config_overwrite
設(shè)置被關(guān)閉。
段落載入 config_load section
<{config_load file="../config/my.conf " section = "Customer"}>
配置文件載入
內(nèi)置的函數(shù) {config_load}
來(lái)載入,
通過(guò)configLoad()
函數(shù)進(jìn)行載入。
配置段落隱藏 [.hidden]
你可以通過(guò)在變量名或段落名前面加上點(diǎn)號(hào)(.),來(lái)隱藏變量或者整個(gè)段落,如[.hidden]
。
這個(gè)技巧在你的程序使用配置文件保存一些敏感信息,但這些信息又不希望模板引擎使用時(shí),非常有用。 如果是第三方來(lái)對(duì)模板進(jìn)行修改,你也可以保證他們不會(huì)在載入配置文件時(shí),讀取到這些敏感信息
配置文件從數(shù)據(jù)庫(kù)中載入
如$smarty->configLoad("db:my.conf")
。
============================================================
從配置文件獲取的變量
1.可以通過(guò) 井號(hào)引用起來(lái)訪問(wèn)如#hash_marks#
<{#title#}>
2.通過(guò)Smarty變量 $smarty.config來(lái)訪問(wèn)
<{$smarty.config.title}>
完整舉例
配置文件 my.conf
title='my first web' bgcolor='white' [index] name='Mr.Yang' [list] age=10
模板文件 hello.tpl
<head> <meta http-equiv="content-type" content="text/html;charset=utf-8"/> </head> <{config_load file="../config/my.conf " section="index"}> <body bgcolor='<{ #bgcolor# }>'> <h4><{#title#}></h4> <h4><{$smarty.config.name}></h4> </body>
瀏覽器輸出
my first web Mr.Yang
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。