19.4 使用Smarty
使用Smarty只需要在執行腳本中使Smarty類庫可用一般使用require()語句:
之後,就可以實例化Smarty類:
開始利用這個特性時所要做的工作只有這麼多。下面先來看一個簡單的示例。代碼清單19-3給出了一個簡單的設計模板。注意,模板中有兩個變量:$title和$name。兩個變量都放在大括號中,大括號是Smarty的默認定界符。這些定界符告訴Smarty要對定界符所包圍的內容完成某些操作。在這個例子中,唯一的動作就是用通過應用程序邏輯(代碼清單19-4)傳入的相應值替代變量。不過,你很快將看到,Smarty還能夠完成大量其他任務,例如執行表現邏輯和修改文本格式等。
代碼清單19-3 簡單的Smarty設計模板(templates/welcome.tpl)
還要注意,Smarty希望這個模板位於templates目錄內,除非通過$template_dir修改了模板目錄。
代碼清單19-4給出相應的應用程序邏輯,它將適當的變量值傳入Smarty模板。
代碼清單19-4 index.tpl模板的應用程序邏輯
輸出結果如圖19-1所示。
這個基本示例展示了Smarty能夠完全分離Web應用程序邏輯層和表現層。但是,這只是Smarty全部特性集的一點皮毛。在進入其他主題之前,有必要正式地介紹一下前例中用來獲取和顯示Smarty模板的display()方法。基於Smarty的腳本中都會用到這個方法,因為它負責獲取和顯示由template引用的模板。其形式為:
圖19-1 代碼清單19-4的輸出