Smarty組態檔案


組態檔案

組態檔案有利於設計者管理檔案中的模板全域性變數。最簡單的例子就是模板色彩變數。一般情況下你如果想改變一個程式的外觀色彩,你就必須通過去更改每一個檔案的顏色變數。如果有這個組態檔案的話,色彩變數就可以儲存在一個地方,只要改變這個組態檔案就可以實現你色彩的更新。


例 9-1 組態檔案語法例子

# 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.domain.com
db=ADDRESSBOOK
user=php-user
pass=foobar

 

組態檔案變數值能夠在引號中使用,但是沒有必要。你可以用單引號或者雙引號。如果你有一個不只在一個區域內使用的變數值,你可以使用三引號(""")將它完整的封狀起來,可以把它們放金組態檔案,只要沒有語法錯誤。我們建議在程式行前使用 “#”加一些註釋資訊來標示。

 

上面關於組態檔案的例子共有兩個部分。每部分的名稱都是用一個“[]”給括起來。每部分的名稱命名規則就是任意的字串,只要不包括有符號“[”或者“]”。例子開頭的四個變數都是全域性變數,也就是說不僅僅是可以在一個區域內使用。這些變數總是從組態檔案中載入。如果某個特定的區域性變數已經載入,這樣全域性變數和區域性變數都還可以載入。如果當某個變數名既是全域性變數又是區域性變數時,區域性變數將被優先賦予值來使用。如果在一個區域性中兩個變數名相同的話,最後一個將被賦值使用。

 

組態檔案是通過內建函式載入到模板 { config load }

 

你可以在某個段時期通過預先想好的變數名或者區域性名隱藏變數或者完整的一個節。當你的應用程式讀取組態檔案和取得有用資料而不用讀取模板時這個非常有用,如果你有第三方來做模板編輯的話,可以肯定的說它們不能通過載入組態檔案到模板而讀取到任何有用的資料。