程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> (PHP)模板引擎Smarty介紹

(PHP)模板引擎Smarty介紹

編輯:關於PHP編程

模板

引擎Smarty深入淺出介紹——php(做為現在的主流開發語言)

來自

: cjjer 做了部分變動

用php(做為現在的主流開發語言)實現MVC開發模式的邏輯層和表示層有多種模板引擎可供選擇,但是官方引擎SMARTY誕生後,選擇就有了變化。它的理念和實現都是相當前衛的。本文主要討論SMARTY之於其他模板引擎的不同特點,簡要介紹了該引擎的安裝及使用,並用一個小的測試案例對比了SMARTY和php(做為現在的主流開發語言)LIBtemplate的速度和易用性。

一、MVC需要模板

MVC最早是在SmallTalk語言的開發過程中總結出的一種設計模式,MVC分別代表了模型、視圖和控制,目的就是讓不同的開發角色在大中型項目中各司其職。在網絡應用程序的開發中,可以用下圖來表示各概念之間的關系。

該圖展示了一個簡單的WEB應用程序,用戶在浏覽器上看到信息是數據庫服務器上的內容,但在這之前經過了應用服務器加工。開發人員負責的就是建立數據結構、處理數據的邏輯以及表示數據的方法。

96年cgi(現在已經不多人在用了)在中國開始流行的時候,早期的WEB程序員都是從HTML開始自學成材的,在PERL中print一行行的HTML並不是一件難事,但是隨著網絡的一步步提速,頁面大小也從當初的二、三十K暴漲了十倍。寫cgi(現在已經不多人在用了)程序就產生了一個迫切的要求:分開PERL和HTML源碼。於是,社會進步體現在開發小組內部的分工上。由於美工和程序員對互相的工作並不是十分熟悉,在進行合作的過程中需要用一種約定的語言進行交流。

這種語言並不是我們的母語或者英語,術語叫做模板,邏輯和表示依靠它聯系。它是結合了HTML和腳本語言特征的一種表達方式。通過這種方式,表示層可以按照用戶所希望的格式來顯示經過邏輯層處理過的數據。如果你有Windows平台下MFC的開發經驗,那麼一定會很熟悉Document/DocumentTemplate/View的封裝,這就是一個很典型的MVC例子。對於Web應用來說,個人認為J2EE中的EJB/servlets/jsp(SUN企業級應用的首選)是最強大的,當然還有簡潔優美的Structs。另一個很有名的實現就是COM/DCOM+ASP,這個組合在我國是最多人使用的。

通過幾種MVC實現在WEB應用程序裡的對比,可以得到一個關於模板的概念:一組插入了HTML的腳本或者說是插入了腳本HTML,通過這種插入的內容來表示變化的數據。下面給出一個模板文件的例子,這個模板經過處理後在浏覽器裡顯示Hello,world!

$greetings

這裡暫且省略處理方式,在後面做專門對比討論。

二、為什麼選SMARTY?

對php(做為現在的主流開發語言)來說,有很多模板引擎可供選擇,比如最早的php(做為現在的主流開發語言)LIBtemplate和後起之秀Fasttemplate,經過數次升級,已經相當成熟穩定。如果你對目前手中的模板引擎很滿意,那麼......也請往下看,相信你作為一個自由軟件愛好者或者追求效率和優雅的開發者,下面的SMARTY介紹多少會有點意思。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved