Smarty是一個使用PHP寫出來的模板引擎,是目前業(yè)界最著名的PHP模板引擎之一。它分離了邏輯代碼和外在的內(nèi)容,提供了一種易于管理和使用的方法,用來將原本與HTML代碼混雜在一起PHP代碼邏輯分離。簡單的講,目的就是要使PHP程序員同前端人員分離,使程序員改變程序的邏輯內(nèi)容不會影響到前端人員的頁面設(shè)計,前端人員重新修改頁面不會影響到程序的程序邏輯,這在多人合作的項目中顯的尤為重要。什么是PHP模板該 如何使我的PHP腳 本從設(shè)計中獨立出來?這無疑地是在PHP郵件列表上所提問的最多的問題之一。雖然PHP被標榜為“HTML嵌入式語言”,在寫過許多PHP和HTML混合 式的工程之后,我產(chǎn)生了一個分離表單和內(nèi)容的想法。而且,在許多公司里規(guī)劃設(shè)計者的角色和程序設(shè)計者是分開的。于是,這樣的一個模板解決方案產(chǎn)生了…… 例如在一個公司,一個應(yīng)用程序的開發(fā)流程如下:在提交計劃文檔之后,界面設(shè)計者[美工]制作了網(wǎng)站的外觀模型,然后把它交給后臺程 序員。程序員使用PHP實現(xiàn)商業(yè)邏輯,同時使用外觀模型做成基本架構(gòu)。然后工程被返回到HTML頁面設(shè)計者繼續(xù)完善。就這樣工程可能在后臺程序員和頁面設(shè) 計者之間來來回回好幾次。由于后臺程序員不喜歡干預(yù)任何有關(guān)HTML標簽,同時也不需要美工們和PHP代碼混在一起;美工設(shè)計者只需要配置文件,動態(tài)區(qū)塊 和其他的界面部分,不必要去接觸那些錯綜復(fù)雜的PHP代碼。因此,這時候有一個很好的模板支持就顯得很重要了。 縱觀現(xiàn)今存在的許多PHP模板解決方案(比如PHPLIB), 大多數(shù)都只是提供了用模板取代變量和將動態(tài)區(qū)塊的功能有限的格式化的基本方法。但是我們的需求比這個要高的多。我們完全不想要PHP程序員去設(shè)計HTML 頁面,可是這又是不可避免的。例如:如果美工想要在動態(tài)區(qū)塊之間交替不同的背景顏色,他就可能得和程序員預(yù)先說好。同樣,美工們也應(yīng)該有自己對于頁面設(shè)計 的配置文件,這同樣可以通過變量把他們拉到模板里邊去 |
|