
Smarty模板化引擎,是在GNU寬通用公共許可(LGPL)下發布的,可能是最流行、功能最強大的PHP模板化引擎。
Smarty提供了很多強大的功能,概括如下:
- 強大的表現邏輯。Smarty提供了適當的構造,能夠有條件地計算和迭代地處理數據。雖然它本身實際上是一種語言,但語法很簡單,設計人員可以很快地學會,而不需要預備的編程知識。
- 模板編譯。為減少開銷,Smarty在默認情況下將模板轉換為可比較的PHP腳本,使得后續的調用速度更快。Smarty還非常智能,在內容改變后可以重新編譯。
- 緩存。Smarty還提供了緩存模板的可選特性。緩存與編譯不同的是,支持緩存不只是能生成緩存的內容,還能防止執行個別邏輯。例如,你可以指定緩存文檔的生存時間,比如5分鐘,在此期間可以忽略與該模板有關的數據庫查詢。
- 高度可配置和可擴展。Smarty的面向對象架構允許修改和擴展其默認行為。此外,從一開始可配置性就是一個設計目標,為用戶提供了很大的靈活性,通過內置方法和屬性定制Smarty的行為。
- 安全。Smarty提供了很多安全特性,可以避免服務器和應用程序數據遭到設計人員有意或無意的破壞。