PHP是一種HTML內(nèi)嵌式的在服務(wù)器端執(zhí)行的腳本語(yǔ)言,所以大部分PHP開(kāi)發(fā)出來(lái)的Web應(yīng)用,初始的開(kāi)發(fā)模板就是混合層的數(shù)據(jù)編程。雖然通過(guò)MVC設(shè)計(jì)模式可以把程序應(yīng)用邏輯與網(wǎng)頁(yè)呈現(xiàn)邏輯強(qiáng)制性分離,但也只是將應(yīng)用程序的輸入、處理和輸出分開(kāi),網(wǎng)頁(yè)呈現(xiàn)邏輯(視圖)還會(huì)有HTML代碼和PHP程序強(qiáng)耦合在一起。 模板引擎技術(shù)的核心比較簡(jiǎn)單。只要將美工頁(yè)面(不包含任何的PHP代碼)指定為模板文件,并將這個(gè)模板文件中有活動(dòng)的內(nèi)容,如數(shù)據(jù)庫(kù)輸出、用戶交互等部分,定義成使用特殊'定界符'包含的'變量',然后放在模板文件中相應(yīng)的位置。當(dāng)用戶瀏覽時(shí),由PHP腳本程序打開(kāi)該模板文件,并將模板文件中定義的變量進(jìn)行替換。這樣,模板中的特殊變量被替換為不同的動(dòng)態(tài)內(nèi)容時(shí),就會(huì)輸出需要的頁(yè)面。 為了找到一個(gè)好的模板引擎,我在互聯(lián)網(wǎng)上進(jìn)行搜索,目前已經(jīng)整理出的php模板引擎有: Smarty Smarty的特點(diǎn)是將模板編譯成PHP腳本,然后執(zhí)行這些腳本。很快,非常靈活。 Heyes Template Class 一個(gè)非常容易使用,但功能強(qiáng)大并且快速的模板引擎,它幫助你把頁(yè)面布局和設(shè)計(jì)從代碼中分離。 FastTemplate 一個(gè)簡(jiǎn)單的變量插值模板類,它分析你的模板,把變量的值從HTML代碼中分離處理。 ShellPage 一個(gè)簡(jiǎn)單易用的類,可以讓你的整個(gè)網(wǎng)站布局基于模板文件,修改模板就能改變整個(gè)站點(diǎn)。 STP Simple Template Parser 一個(gè)簡(jiǎn)單、輕量級(jí)并且易于使用的模板分析類。它可以從多個(gè)模板中組裝一個(gè)頁(yè)面,把結(jié)果頁(yè)面輸出到瀏覽器或者文件系統(tǒng)。 OO Template Class 一個(gè)你可以用在自己程序中的面向兌現(xiàn)的模板類。 SimpleTemplate 一個(gè)可以創(chuàng)建和結(jié)構(gòu)化網(wǎng)站的模板引擎。它可以解析和編譯模板。 bTemplate 短小但是快速的模板類,允許你把PHP邏輯代碼從HTML修飾代碼中分離。 Savant 一個(gè)強(qiáng)大且輕量級(jí)的PEAR兼容模板系統(tǒng)。它是非編譯型的,使用PHP語(yǔ)言本身做為它的模板語(yǔ)言。 ETS - easy template system 可以使用完全相同數(shù)據(jù)重組模板的模板系統(tǒng)。 EasyTemplatePHP 適用于你的站點(diǎn)的一個(gè)簡(jiǎn)單但是強(qiáng)大的模板系統(tǒng)。 vlibTemplate 一個(gè)快速、全能的模板系統(tǒng),它包含一個(gè)緩存和調(diào)試類。 AvanTemplate 多字節(jié)安全的模板引擎,占用很少系統(tǒng)資源。它支持變量替換,內(nèi)容塊可以設(shè)置顯示或隱藏。 Grafx Software’s Fast Template 一個(gè)修改版本的Fast Template系統(tǒng),它包括緩存功能,調(diào)試控制臺(tái)以及沉默去除為賦值塊。 TemplatePower 一個(gè)快速、簡(jiǎn)單、功能強(qiáng)大的模板類。主要功能有嵌套的動(dòng)態(tài)塊支持,塊/文件包含支持以及顯示/隱藏未賦值的變量。 TagTemplate 這個(gè)庫(kù)的功能被設(shè)計(jì)來(lái)使用模板文件,同時(shí)允許你從HTML文件檢索信息。 htmltmpl: templating engine 一個(gè)適用于Python和PHP的模板引擎。它面向希望在項(xiàng)目中分離代碼和設(shè)計(jì)的web應(yīng)用開(kāi)發(fā)人員。 PHP Class for Parsing Dreamweaver templates 一個(gè)分析Dreamweaver模板的簡(jiǎn)單類,被用于Gallery 2 和WordPress的自定義模塊中。 MiniTemplator (Template Engine) 針對(duì)HTML文件的一個(gè)緊湊型模板引擎。對(duì)于模板變量和塊定義它具有簡(jiǎn)單的語(yǔ)法。其中塊可以嵌套。 Layout Solution 簡(jiǎn)化網(wǎng)站開(kāi)發(fā)和維護(hù)。它擁有常用的變量和頁(yè)面元素使你不需要重復(fù)做頁(yè)面布局工作。 Cached Fast Template 它已經(jīng)納入 FastTemplate ,允許你緩存模板文件,甚至可以在分離的塊內(nèi)容上緩存不同的規(guī)格。 TinyButStrong 一個(gè)支持MySQL, Odbc, Sql-Server和ADODB的模板引擎。它包含7個(gè)方法和兩個(gè)屬性。 Brian Lozier’s php based template engine 只有2K大小,非??觳⑶沂敲嫦?qū)ο笤O(shè)計(jì)。 WACT 一個(gè)從設(shè)計(jì)中分離代碼的模板引擎。 PHPTAL 一個(gè)PHP下面的XML/XHTML模板庫(kù)。 |
|
來(lái)自: fanfl0517 > 《開(kāi)發(fā)》