簡介
Smarty是PHP的"半官方"的模板化引擎,從其主頁的位置就可以看出。Smarty的作者是Andrei Zmievski和Monte Orte。它是在GNU寬通用公共許可(LGPL)下發布的,可能是最流行、功能最強大的PHP模板化引擎。
功能
Smarty還提供了很多強大的功能,本章將討論其中一部分,概括如下。
強大的表現邏輯。Smarty提供了適當的構造,能夠有條件地計算和疊代地處理數據。雖然它本身實際上是一種語言,但語法很簡單,設計人員可以很快地學會,而不需要預備的編程知識。
模板編譯。為減少開銷,Smarty在默認情況下將模板轉換為可比較的PHP腳本,使得後續的調用速度更快。Smarty還非常智慧型,在內容改變後可以重新編譯。
快取。Smarty還提供了快取模板的可選特性。快取與編譯不同的是,支持快取不只是能生成快取的內容,還能防止執行個別邏輯。例如,你可以指定快取文檔的生存時間,比如5分鐘,在此期間可以忽略與該模板有關的資料庫查詢。
高度可配置和可擴展。Smarty的面向對象架構允許修改和擴展其默認行為。此外,從一開始可配置性就是一個設計目標,為用戶提供了很大的靈活性,通過內置方法和屬性定製Smarty的行為。
安全。Smarty提供了很多安全特性,可以避免伺服器和應用程式數據遭到設計人員有意或無意的破壞。
記住,所有流行的模板化解決方案都遵循同樣的一組相同的核心實現原則。與程式語言一樣,學習了一種語言就可以更容易地掌握其他語言。因此,即使不使用Smarty,你也可以繼續讀下去,使你對這個解決方案有一個初步的認識,並始終強調一般性的模板化概念。