隨筆-31  評(píng)論-257  文章-0  trackbacks-0
          Smarty 的配置文件

                開發(fā)人員一直使用配置文件來存儲(chǔ)確定應(yīng)用程序行為和操作的數(shù)據(jù)。例如,php.ini 文件負(fù)責(zé)確定PHP的大量行為。對(duì)于Smarty ,模板設(shè)計(jì)人員也可以利用配置文件的強(qiáng)大作用。例如,設(shè)計(jì)人員可以使用配置文件存儲(chǔ)頁面標(biāo)題、用戶消息以及有必要集中存儲(chǔ)的任何信息。
                以下是一個(gè)示例配置文件 (名為 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..."

                中括號(hào)中包圍的項(xiàng)稱為節(jié)(section)。節(jié)之外的項(xiàng)都認(rèn)為是全局的。這此項(xiàng)應(yīng)當(dāng)在定義任何節(jié)之前定義。
               
              下面將展示如何使用config_load 函數(shù)來加載配置文件,還會(huì)解釋如何在模板中引用配置變量。
              配置文件存儲(chǔ)在 configs 目錄中,并使用Smarty函數(shù) config_load 加載。下面是加載配置文件 app.config 的示例:
              {config_load file="app.config"}
          但是要記住,此調(diào)用只能加載配置文件的全局變量。如果要加載特定的節(jié),需要使用 section 屬性指定。所以,可以使用以下語法加載 app.config 的節(jié) Aggregation:
                {config_load file="app.config" section="Aggregation"}
                另外兩個(gè)可選參數(shù)介紹如下:
              scope:確定所加載的配置變量的作用域。默認(rèn)情況下設(shè)置為local,表示變量只能用于本地模板。其它可能的設(shè)置包括 parent 和 global 。作用域設(shè)置為 parent 時(shí),變量可用于本地模板和調(diào)用模板。作用域設(shè)為global 時(shí),變量則可以用于所有模板。
              section:指定加載配置文件的特定節(jié)。因此,如果只對(duì)某個(gè)特定節(jié)感興趣,可以只加載該節(jié),而非整個(gè)文件。

          引用配置變量

                配置文件中變量的引用方式與其它變量的引用方式有所不同。實(shí)際上,這些配置變量使用幾種不同的語法來引用,下面將介紹這個(gè)內(nèi)容。
              1、#
                在 Smarty 模板中,可以在變量前面加上#號(hào)來引用配置變量。例如:
                {#title}
                2、Smarty的$smarty.config變量
              引用配置變量時(shí),如果喜歡更為正式的語法,可以使用 Smarty 的 $smarty.config 變量。例如:
                {$smarty.config.title}
                3、get_config_vars() 方法
              array get_config_vars([string variablename])
                get_config_vars() 方法返回一個(gè)數(shù)組,包含加載的所有配置變量值。如果只對(duì)某個(gè)變量值感興趣,可以通過 variablename 傳入該變量。例如,如果只對(duì)以上 app.config  配置文件中 Aggregation 節(jié)的 title 感興趣,可以首先使用 config_load 函數(shù)加載該節(jié):
                {config_load file="app.config" section="Aggregation"}
          然后,在模板中啟用PHP的節(jié)中調(diào)用 get_config_vars( ),如下:
                $title = smarty->get_config_vars("title");
          當(dāng)然,無論選擇哪一種獲取配置參數(shù)的語法,都不要忘記首先使用 config_load 函數(shù)加載配置文件。
          posted on 2008-07-29 13:51 姜大叔 閱讀(338) 評(píng)論(0)  編輯  收藏 所屬分類: PHP
          主站蜘蛛池模板: 泰安市| 长宁县| 大余县| 永胜县| 济宁市| 聂荣县| 新余市| 兴安县| 玛多县| 英超| 青铜峡市| 鸡泽县| 德钦县| 台东县| 攀枝花市| 旅游| 连平县| 凤阳县| 乌拉特后旗| 六枝特区| 惠州市| 齐齐哈尔市| 屏边| 炎陵县| 平泉县| 大余县| 东明县| 鄯善县| 马公市| 屯门区| 兴城市| 德化县| 东明县| 青阳县| 虹口区| 霸州市| 琼海市| 建宁县| 广德县| 达孜县| 禹城市|