Smarty是一個使用PHP寫出來的模板引擎,是目前業(yè)界最著名的PHP模板引擎之一。它分離了邏輯代碼和外在的內(nèi)容,提供了一種易于管理和使用的方法,用來將原本與HTML代碼混雜在一起PHP代碼邏輯分離。簡單的講,目的就是要使PHP程序員同前端人員分離,使程序員改變程序的邏輯內(nèi)容不會影響到前端人員的頁面設計,前端人員重新修改頁面不會影響到程序的程序邏輯,這在多人合作的項目中顯的尤為重要。
1. 速度:采用Smarty編寫的程序可以獲得最大速度的提高,這一點是相對于其它的模板引擎技術而言的。
2. 編譯型:采用Smarty編寫的程序在運行時要編譯成一個非模板技術的PHP文件,這個文件采用了PHP與HTML混合的方式,在下一次訪問模板時將WEB請求直接轉(zhuǎn)換到這個文件中,而不再進行模板重新編譯(在源程序沒有改動的情況下)
3. 緩存技術:Smarty選用的一種緩存技術,它可以將用戶最終看到的HTML文件緩存成一個靜態(tài)的HTML頁,當設定Smarty的cache屬性為true時,在Smarty設定的cachetime期內(nèi)將用戶的WEB請求直接轉(zhuǎn)換到這個靜態(tài)的HTML文件中來,這相當于調(diào)用一個靜態(tài)的HTML文件。
4. 插件技術:Smarty可以自定義插件。插件實際就是一些自定義的函數(shù)。
5. 模板中可以使用if/elseif/else/endif。在模板文件使用判斷語句可以非常方便的對模板進行格式重排。