Smarty 的配置文件
開發人員一直使用配置文件來存儲確定應用程序行為和操作的數據。例如,php.ini 文件負責確定PHP的大量行為。對于Smarty ,模板設計人員也可以利用配置文件的強大作用。例如,設計人員可以使用配置文件存儲頁面標題、用戶消息以及有必要集中存儲的任何信息。
以下是一個示例配置文件 (名為 app.config):
#Global Variables
appName = "PMNP News Service"
copyright = "Copyright 2005 PMNP News Service, Inc."
[Aggregation]
title = "Recent News"
warning = "Copyright warning.Use of this information is for personal use only."
[Detail]
title = "A Closer Look..."
中括號中包圍的項稱為節(section)。節之外的項都認為是全局的。這此項應當在定義任何節之前定義。
下面將展示如何使用config_load 函數來加載配置文件,還會解釋如何在模板中引用配置變量。
配置文件存儲在 configs 目錄中,并使用Smarty函數 config_load 加載。下面是加載配置文件 app.config 的示例:
{config_load file="app.config"}
但是要記住,此調用只能加載配置文件的全局變量。如果要加載特定的節,需要使用 section 屬性指定。所以,可以使用以下語法加載 app.config 的節 Aggregation:
{config_load file="app.config" section="Aggregation"}
另外兩個可選參數介紹如下:
scope:確定所加載的配置變量的作用域。默認情況下設置為local,表示變量只能用于本地模板。其它可能的設置包括 parent 和 global 。作用域設置為 parent 時,變量可用于本地模板和調用模板。作用域設為global 時,變量則可以用于所有模板。
section:指定加載配置文件的特定節。因此,如果只對某個特定節感興趣,可以只加載該節,而非整個文件。
引用配置變量
配置文件中變量的引用方式與其它變量的引用方式有所不同。實際上,這些配置變量使用幾種不同的語法來引用,下面將介紹這個內容。
1、#
在 Smarty 模板中,可以在變量前面加上#號來引用配置變量。例如:
{#title}
2、Smarty的$smarty.config變量
引用配置變量時,如果喜歡更為正式的語法,可以使用 Smarty 的 $smarty.config 變量。例如:
{$smarty.config.title}
3、get_config_vars() 方法
array get_config_vars([string variablename])
get_config_vars() 方法返回一個數組,包含加載的所有配置變量值。如果只對某個變量值感興趣,可以通過 variablename 傳入該變量。例如,如果只對以上 app.config 配置文件中 Aggregation 節的 title 感興趣,可以首先使用 config_load 函數加載該節:
{config_load file="app.config" section="Aggregation"}
然后,在模板中啟用PHP的節中調用 get_config_vars( ),如下:
$title = smarty->get_config_vars("title");
當然,無論選擇哪一種獲取配置參數的語法,都不要忘記首先使用 config_load 函數加載配置文件。
posted on 2008-07-29 13:51
姜大叔 閱讀(336)
評論(0) 編輯 收藏 所屬分類:
PHP