|
1、簡(jiǎn)介
Smarty是一個(gè)使用php寫(xiě)出來(lái)的模板php模板引擎,是目前業(yè)界最著名的php模板引擎之一。它分離了邏輯代碼和外在的內(nèi)容,提供了一種易于管理和使用的方法,用來(lái)將原本與HTML代碼混雜在一起php代碼邏輯分離。簡(jiǎn)單的講,目的就是要使php程序員同前端分離,使php程序員改變程序的邏輯內(nèi)容不會(huì)影響到前端的頁(yè)面設(shè)計(jì),前端重新修改頁(yè)面不會(huì)影響到程序的程序邏輯,這在多人合作的項(xiàng)目中顯的尤為重要。
2、那么smarty有什么優(yōu)點(diǎn)呢?
a、速度:采用Smarty編寫(xiě)的程序可以獲得最大速度的提高,這一點(diǎn)是相對(duì)于其它的模板引擎技術(shù)而言的。
b、編譯型:采用Smarty編寫(xiě)的程序在運(yùn)行時(shí)要編譯成一個(gè)非模板技術(shù)的php文件,這個(gè)文件采用了php與HTML混合的方式,在下一次訪問(wèn)模板時(shí)將WEB請(qǐng)求直接轉(zhuǎn)換到這個(gè)文件中,而不再進(jìn)行模板重新編譯(在源程序沒(méi)有改動(dòng)的情況下)
c、緩存技術(shù):Smarty選用的一種緩存技術(shù),它可以將用戶最終看到的HTML文件緩存成一個(gè)靜態(tài)的HTML頁(yè),當(dāng)設(shè)定Smarty的cache屬性為true時(shí),在Smarty設(shè)定的cachetime期內(nèi)將用戶的WEB請(qǐng)求直接轉(zhuǎn)換到這個(gè)靜態(tài)的HTML文件中來(lái),這相當(dāng)于調(diào)用一個(gè)靜態(tài)的HTML文件。
d、插件技術(shù):Smarty可以自定義插件。插件實(shí)際就是一些自定義的函數(shù)。
e、模板中可以使用if/elseif/else/endif。在模板文件使用判斷語(yǔ)句可以非常方便的對(duì)模板進(jìn)行格式重排。
3、不過(guò),在下面情況時(shí)使用smarty需留意
a、需要實(shí)時(shí)更新的內(nèi)容。例如像股票顯示,它需要經(jīng)常對(duì)數(shù)據(jù)進(jìn)行更新,這類型的程序使用smarty會(huì)使模板處理速度變慢。
b、小項(xiàng)目。小項(xiàng)目因?yàn)轫?xiàng)目簡(jiǎn)單而美工與程序員兼于一人的項(xiàng)目,使用Smarty會(huì)在一定程度上喪失php開(kāi)發(fā)迅速的優(yōu)點(diǎn)。
(PS:不過(guò)為了整個(gè)項(xiàng)目的規(guī)范,請(qǐng)大家嘗試去使用模板引擎。其實(shí)習(xí)慣了,開(kāi)發(fā)速度會(huì)更加快,以上是沒(méi)有用習(xí)慣模板引擎的開(kāi)發(fā)者遇到的問(wèn)題)
php技術(shù):Smarty模板學(xué)習(xí)筆記之Smarty簡(jiǎn)介,轉(zhuǎn)載需保留來(lái)源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。