1、簡介
Smarty是一個使用PHP寫出來的模板PHP模板引擎,是目前業界最著名的PHP模板引擎之一。它分離了邏輯代碼和外在的內容,提供了一種易於管理和使用的方法,用來將原本與HTML代碼混雜在一起PHP代碼邏輯分離。簡單的講,目的就是要使PHP程序員同前端分離,使PHP程序員改變程序的邏輯內容不會影響到前端的頁面設計,前端重新修改頁面不會影響到程序的程序邏輯,這在多人合作的項目中顯的尤為重要。
2、那麼smarty有什麼優點呢?
a、速度:采用Smarty編寫的程序可以獲得最大速度的提高,這一點是相對於其它的模板引擎技術而言的。
b、編譯型:采用Smarty編寫的程序在運行時要編譯成一個非模板技術的PHP文件,這個文件采用了PHP與HTML混合的方式,在下一次訪問模板時將WEB請求直接轉換到這個文件中,而不再進行模板重新編譯(在源程序沒有改動的情況下)
c、緩存技術:Smarty選用的一種緩存技術,它可以將用戶最終看到的HTML文件緩存成一個靜態的HTML頁,當設定Smarty的cache屬性為true時,在Smarty設定的cachetime期內將用戶的WEB請求直接轉換到這個靜態的HTML文件中來,這相當於調用一個靜態的HTML文件。
d、插件技術:Smarty可以自定義插件。插件實際就是一些自定義的函數。
e、模板中可以使用if/elseif/else/endif。在模板文件使用判斷語句可以非常方便的對模板進行格式重排。
3、不過,在下面情況時使用smarty需留意
a、需要實時更新的內容。例如像股票顯示,它需要經常對數據進行更新,這類型的程序使用smarty會使模板處理速度變慢。
b、小項目。小項目因為項目簡單而美工與程序員兼於一人的項目,使用Smarty會在一定程度上喪失PHP開發迅速的優點。
(PS:不過為了整個項目的規范,請大家嘗試去使用模板引擎。其實習慣了,開發速度會更加快,以上是沒有用習慣模板引擎的開發者遇到的問題)